El 22/07/2017 a las 11:23, Bjorn Reese via Boost escribió:
On 07/17/2017 01:06 PM, Joaquin M López Muñoz via Boost wrote:
My personal opinion is that 1 should be given priority, followed by 2 and, at a distance, 3. It is a submission for Boost we're dealing here with. In that light, mp_ sounds like noise to me (also for 3, but this is not a subject for this review).
The main problem is that some names would collide with C++ keywords. A quick scan of the documentation reveal these possible conflicts: bool, true, false, int, if, and void.
I am wondering if there is an alternative solution to the mp_ prefix and the MPL-style _ suffix.
Besides prefixing and suffixing, the only reamining alternative is using another name, of course.
For instance, type-traits have faced the same problem and selected synonyms, e.g. std::conditional instead of if, or longer names, e.g. true_type and false_type.
Personally, I like MPL-style suffixing better: it's a sort of tradition within Boost (boost::hana::and_, boost::proto::if_, boost::msm::front::euml::while_), name intent is clear and seems to me the _ suffix it's automatically parsed out by the (trained) human eye. Joaquín M López Muñoz