Changes between Version 4 and Version 5 of Guidelines/Naming/Operators


Ignore:
Timestamp:
Mar 20, 2011, 7:55:03 AM (12 years ago)
Author:
Joachim Faulhaber
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Guidelines/Naming/Operators

    v4 v5  
    11= Operator Names =
    22
    3 This page has been created for the extention of Boost.TypeTraits by operator traits to ease an overview over existing naming of operators in the standards and boost libraries. The purpose of the page is to collect differences and support convergence.
     3This page has been created on occasion of the extension of Boost.TypeTraits by operator traits to give an overview over existing naming of operators in the standards and boost libraries. The purpose of the page is to collect differences and support convergence.
    44
    55||=Column      =||=Comment  =||
    6 ||=`op`        =||The operator sign||
    7 ||=`alt`       =||An alternative tokens, if available ||
     6||=op          =||The operator sign||
     7||=alt         =||An alternative tokens, if available ||
    88||=type_traits =||boost::type_traits naming as proposed by Frédéric Bron. ||
    99||=MPU         =||Most Unifying Proposal ||
     
    1414||=operator    =||Corresponding naming of concepts from boost::operator ||
    1515
    16 The names in column MPU are trying to minimize the differences between and so maximize the consistency. The naming from Boost.Proto is found in other boost libraries, e.g. accumulator.
     16The names in column MPU are trying to minimize the differences between names and maximize the naming consistency. The naming from Boost.Proto is found in other boost libraries, e.g. accumulator and phoenix.
    1717
    18 ||=`op`  =||=`alt`     =||= type_traits       =||= MUP             =||= std    =||=  proto              =||= boost::operator     =||
     18||=op    =||=alt       =||= type_traits       =||= MUP             =||= std    =||=  proto              =||= boost::operator     =||
    1919||=`==`  =||=          =||equal_to             ||equal_to           ||  `=`     ||   `=`                 ||equality_comparable    ||
    2020||=`!=`  =||=`not_eq`  =||not_equal_to         ||not_equal_to       ||  `=`     ||   `=`                 ||                       ||
     
    5656
    5757
    58 There are some conflicts that have been solved under these rationals:
     58There are some conflicts that have been solved under these rationals.
     59
     60An name is chosen along these priorities
     611. If the name exists in the current c++ standard.
     622. If the name exists in the new upcoming c++ standard.
     633. Name is not given by 1 or 2 but is used in proto
     644. For the remaining conflicts
     65   a. Does the name follow general boost naming conventions?
     66   b. Can it be completed to a typical concept name "conceptified". E.g. left_shift -> left_shiftable
    5967
    6068||`o=`      || op_equal vs. op_assign || proto and other boost::libs agree on `op_assign`. We can better conceptify to OpAssignable ||
     
    6371||`++ --`   || pre/postfix vs. pre/post || goes to pre_in/decrement post_in/decrement. Seems simpler and more natural. ||
    6472
    65 A higher naming consitency could be reached, if the standard was changed for 3 names:
     73A higher naming consistency could be reached, if the standard was changed for 3 names:
    6674
    6775{{{
     
    7381}}}
    7482
    75 In this case all the `bit` prefixes could be replaced by `bitwise`.
     83In this case all the `bit` prefixes could be replaced by `bitwise`, so it would be consistent with all proto names referring to bitwise operations. Note that "20.8.7, bitwise operations" are all part of the new upcoming standard and could still be changed.
    7684