> But you don't need flags() member function here
Ehhm ... why? Or what do you mean here?