3 ms·
The more I develop in C++, the more I wish I had a very restructure transpirer that would remove some of its most silly constructs or switch ite base defaults a
by enqk 11y ago
The more I develop in C++, the more I wish I had a very restructure transpirer that would remove some of its most silly constructs or switch ite base defaults around.
Some examples:
- making all constructors explicit and adding an implicit keyword instead for that rare case
- automatically generated !=, <=, >= etc from == and < (with an explicit override when you want to be silly)
- removing some of the redundant syntaxes (const positioning, typedefs vs using etc
- removing the class keyword
- tragomaskhalos 11y agoYou can easily do your != et al from < thing by using CRTP inheriting from a 'comparable' template class that provides the implementations. Sort of thing that should be in std really.
- ourson 11y agoIt is. using namespace std::rel_ops;
- ant6n 11y agoIt looks like this isn't attached to the class definition, but rather to the uses. I.e. for every use of a class that only defines ==, <, you have to include rel_ops. But then it would basically provide the other comparators to all classes, maybe not something you'd want.
- Rexxar 11y agoYou can use "boost/operators.hpp" for operators generation.
- unfamiliar 11y agoI would make const the default and require a `mut` keyword.