-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix virtual specifiers, remove redundant methods, unclutter #228
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like this was necessary ;)
I have two general-ish comments / questions
- Should we explicitly
default
the empty destructors that we would otherwise remove here? It's not necessary from a c++ point of view, but it would make it very clear that nothing special is happening in this class destructor from just looking at the code. - We seem to have an arbitrary mix of
override
andfinal
in our algorithms and classes. I think all algorithms could probably befinal
(especially the test and example ones). It's not very likely that something will inherit from them. For all the services a similar argument holds probably, so we could make almost everythingfinal
(?). This doesn't matter too much with functional algorithms, so I am not sure whether it's worth the effort in the end.
Thank you
I'd prefer to use implicit destructors when possible in the spirit of rule 0 (having
I was wondering if there is some conventions/deeper reason for the mix. Is there really a reason to not allow further overriding ( |
Good point. I haven't really checked the existence of the constructors. So if we can go with rule of 0 let's go with that.
Maybe it's time to come up with a convention and write it down into some general guidelines document. |
Anything left here or can we merge this @m-fila? |
It's good to go. I think we could propose a convention for |
I agree with algorithms being final, for services we should check if no one has derived another service from any of them. |
BEGINRELEASENOTES
ENDRELEASENOTES
This is an attempt to slightly reduce the amount of dated and obsolete code:
empty()
methods instead of comparison forvector
andstring
reset(new