Thread::Thread((void(C::*function)(), C *object)I want it to be clear enough that the pointer will be used later; with a reference I expect people to pass local instances and get undefined behaviours. Moreover, this overload will often be used inside classes, with "this".
The object parameter may not be NULL, thus it should be a reference, conforming to the general SFML style.
View::reset(const FloatRect& rectangle);This is the complete sf::View class that needs to be redesigned. I can't do it now, it would require too many changes.
The name suggests that this function has the same semantics as calling the constructor with this signature, however the viewport remains unchanged. setRect() might be an alternative.
QuoteThread::Thread((void(C::*function)(), C *object)I want it to be clear enough that the pointer will be used later; with a reference I expect people to pass local instances and get undefined behaviours. Moreover, this overload will often be used inside classes, with "this".
The object parameter may not be NULL, thus it should be a reference, conforming to the general SFML style.
warning C4355: 'this' : used in base member initializer list
Perhaps would it be worth to add the possibility of setting this parameter after the object construction itself?I don't want a sf::Thread object to be able to be half-initialized, in an inconsistent state. I understand this warning, it could be dangerous to use this in the initializer list since the object's members are not fully constructed, but if you know what you do, it is just annoying. You should just disable it.
By the way, why do you use std::size_t and unsigned int in the same function for "count" parameters?The first one is std:size_t because it represents the size of an array.
I actually don't like std::size_t at all, it has such an unclear application field.To me it's very clear: as far as I know (can't check the standard right now) std::size_t represents sizes in memory (of objects or arrays).
There's size_t, std::size_t, std::ptrdiff_t, unsigned intThey all have their own definition, which is very clear. I personnally see no problem with them.
Even the standard is sometimes inconsistent.What do you mean?