Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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



You can use "boost/operators.hpp" for operators generation.


You 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.


It is. using namespace std::rel_ops;


It 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.


I would make const the default and require a `mut` keyword.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: