Changes between Version 14 and Version 15 of Guidelines/Naming/Operators


Ignore:
Timestamp:
Apr 30, 2011, 3:51:42 PM (11 years ago)
Author:
Joachim Faulhaber
Comment:

Joachim Faulhaber: Removed bitwise_ prefix discussion after this point was clarified on boost list.

Legend:

Unmodified
Added
Removed
Modified
  • Guidelines/Naming/Operators

    v14 v15  
    66||=op          =||The operator sign||
    77||=alt         =||An alternative tokens, if available ||
    8 ||=type_traits =||boost::type_traits naming as proposed by Frédéric Bron. ||
    9 ||=MUP         =||Most Unifying Proposal ||
     8||=type_traits =||boost::type_traits naming as proposed by Frédéric Bron (review version). ||
     9||=**MUP**     =||Most Unifying Proposal ||
    1010||=std         =|| ` =  :`  Equal naming in the standard ||
    1111||=            =|| ` =* :`  Equal naming, new in next standard. ||
    1212||=proto       =|| ` =  :`  Equal naming in boost::proto ||
    13 ||=            =|| `*_p :`  Partial equality except for a prefix or postfix ||
     13||=            =|| `*_p :`  Partial equality except for a prefix or suffix ||
    1414||=operator    =||Corresponding naming of concepts from boost::operator ||
    1515
    1616The names in column MUP 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     =||
    19 ||=`==`  =||=          =||equal_to             ||equal_to           ||  `=`     ||   `=`                 ||equality_comparable    ||
    20 ||=`!=`  =||=`not_eq`  =||not_equal_to         ||not_equal_to       ||  `=`     ||   `=`                 ||                       ||
    21 ||=`<`   =||=          =||less                 ||less               ||  `=`     ||   `=`                 ||less_than_comparable   ||
    22 ||=`<=`  =||=          =||less_equal           ||less_equal         ||  `=`     ||   `=`                 ||                       ||
    23 ||=`>`   =||=          =||greater              ||greater            ||  `=`     ||   `=`                 ||                       ||
    24 ||=`>=`  =||=          =||greater_equal        ||greater_equal      ||  `=`     ||   `=`                 ||                       ||
    25 ||=`+`   =||=          =||plus                 ||plus               ||  `=`     ||   `=`                 ||addable                ||
    26 ||=`-`   =||=          =||minus                ||minus              ||  `=`     ||   `=`                 ||subtractable           ||
    27 ||=`*`   =||=          =||multiplies           ||multiplies         ||  `=`     ||   `=`                 ||multipliable           ||
    28 ||=`/`   =||=          =||divides              ||divides            ||  `=`     ||   `=`                 ||dividable              ||
    29 ||=`%`   =||=          =||modulus              ||modulus            ||  `=`     ||   `=`                 ||modable                ||
    30 ||=`+=`  =||=          =||plus_equal           ||plus_assign        ||          ||  *_assign             ||                       ||
    31 ||=`-=`  =||=          =||minus_equal          ||minus_assign       ||          ||  *_assign             ||                       ||
    32 ||=`*=`  =||=          =||multiplies_equal     ||multiplies_assign ||          ||  *_assign             ||                       ||
    33 ||=`/=`  =||=          =||divides_equal        ||divides_assign     ||          ||  *_assign             ||                       ||
    34 ||=`%=`  =||=          =||modulus_equal        ||modulus_assign     ||          ||  *_assign             ||                       ||
    35 ||=`&&`  =||=`and`     =||logical_and          ||logical_and        ||  `=`     ||   `=`                 ||                       ||
    36 ||=`||`  =||=`or`      =||logical_or           ||logical_or         ||  `=`     ||   `=`                 ||                       ||
    37 ||=`&`   =||=`bitand`  =||bit_and              ||bit_and            ||  `=`*    ||  bitwise_*            ||andable                ||
    38 ||=`|`   =||=`bitor`   =||bit_or               ||bit_or             ||  `=`*    ||  bitwise_*            ||orable                 ||
    39 ||=`^`   =||=          =||bit_xor              ||bit_xor            ||  `=`*    ||  bitwise_*            ||xorable                ||
    40 ||=`<<`  =||=          =||left_shift           ||left_shift         ||          ||shift_left             ||left_shiftable         ||
    41 ||=`>>`  =||=          =||right_shift          ||right_shift        ||          ||shift_right            ||right_shiftable        ||
    42 ||=`&=`  =||=`and_eq`  =||bit_and_equal        ||bit_and_assign     ||          ||bitwise_and_assign     ||                       ||
    43 ||=`|=`  =||=`or_eq`   =||bit_or_equal         ||bit_or_assign      ||          ||bitwise_or_assign      ||                       ||
    44 ||=`^=`  =||=`xor_eq`  =||bit_xor_equal        ||bit_xor_assign     ||          ||bitwise_xor_assign     ||                       ||
    45 ||=`<<=` =||=          =||left_shift_equal     ||left_shift_assign ||          ||shift_left_assign      ||                       ||
    46 ||=`>>=` =||=          =||right_shift_equal    ||right_shift_assign ||          ||shift_right_assign     ||                       ||
    47 ||=`++`  =||=          =||prefix_increment     ||pre_increment      ||          ||pre_inc                ||incrementable          ||
    48 ||=`--`  =||=          =||prefix_decrement     ||pre_decrement      ||          ||pre_dec                ||decrementable          ||
    49 ||=`+`   =||=          =||unary_plus           ||unary_plus         ||          ||   `=`                 ||                       ||
    50 ||=`-`   =||=          =||unary_minus          ||negate             ||negate    ||negate                 ||                       ||
    51 ||=`!`   =||=`not`     =||logical_not          ||logical_not        ||  `=`     ||logical_not            ||                       ||
    52 ||=`~`   =||=`compl`   =||complement           ||complement         ||          ||complement             ||                       ||
    53 ||=`*`   =||=          =||dereference          ||dereference        ||          ||dereference            ||                       ||
    54 ||=`++`  =||=          =||postfix_increment    ||post_increment     ||          ||post_inc               ||                       ||
    55 ||=`--`  =||=          =||postfix_decrement    ||post_decrement     ||          ||post_dec               ||                       ||
     18||=op    =||=alt       =||= type_traits       =||= **MUP**            =||= std    =||=  proto              =||= boost::operator     =||
     19||=`==`  =||=          =||equal_to             ||**equal_to**          ||  `=`     ||   `=`                 ||equality_comparable    ||
     20||=`!=`  =||=`not_eq`  =||not_equal_to         ||**not_equal_to**      ||  `=`     ||   `=`                 ||                       ||
     21||=`<`   =||=          =||less                 ||**less**              ||  `=`     ||   `=`                 ||less_than_comparable   ||
     22||=`<=`  =||=          =||less_equal           ||**less_equal**        ||  `=`     ||   `=`                 ||                       ||
     23||=`>`   =||=          =||greater              ||**greater**           ||  `=`     ||   `=`                 ||                       ||
     24||=`>=`  =||=          =||greater_equal        ||**greater_equal**     ||  `=`     ||   `=`                 ||                       ||
     25||=`+`   =||=          =||plus                 ||**plus**              ||  `=`     ||   `=`                 ||addable                ||
     26||=`-`   =||=          =||minus                ||**minus**             ||  `=`     ||   `=`                 ||subtractable           ||
     27||=`*`   =||=          =||multiplies           ||**multiplies**        ||  `=`     ||   `=`                 ||multipliable           ||
     28||=`/`   =||=          =||divides              ||**divides**           ||  `=`     ||   `=`                 ||dividable              ||
     29||=`%`   =||=          =||modulus              ||**modulus**           ||  `=`     ||   `=`                 ||modable                ||
     30||=`+=`  =||=          =||plus_equal           ||**plus_assign**       ||          ||  *_assign             ||                       ||
     31||=`-=`  =||=          =||minus_equal          ||**minus_assign**      ||          ||  *_assign             ||                       ||
     32||=`*=`  =||=          =||multiplies_equal     ||**multiplies_assign** ||          ||  *_assign             ||                       ||
     33||=`/=`  =||=          =||divides_equal        ||**divides_assign**    ||          ||  *_assign             ||                       ||
     34||=`%=`  =||=          =||modulus_equal        ||**modulus_assign**    ||          ||  *_assign             ||                       ||
     35||=`&&`  =||=`and`     =||logical_and          ||**logical_and**       ||  `=`     ||   `=`                 ||                       ||
     36||=`||`  =||=`or`      =||logical_or           ||**logical_or**        ||  `=`     ||   `=`                 ||                       ||
     37||=`&`   =||=`bitand`  =||bit_and              ||**bit_and**           ||  `=`*    ||  bitwise_*            ||andable                ||
     38||=`|`   =||=`bitor`   =||bit_or               ||**bit_or**            ||  `=`*    ||  bitwise_*            ||orable                 ||
     39||=`^`   =||=          =||bit_xor              ||**bit_xor**           ||  `=`*    ||  bitwise_*            ||xorable                ||
     40||=`<<`  =||=          =||left_shift           ||**left_shift**        ||          ||shift_left             ||left_shiftable         ||
     41||=`>>`  =||=          =||right_shift          ||**right_shift**       ||          ||shift_right            ||right_shiftable        ||
     42||=`&=`  =||=`and_eq`  =||bit_and_equal        ||**bit_and_assign**    ||          ||bitwise_and_assign     ||                       ||
     43||=`|=`  =||=`or_eq`   =||bit_or_equal         ||**bit_or_assign**     ||          ||bitwise_or_assign      ||                       ||
     44||=`^=`  =||=`xor_eq`  =||bit_xor_equal        ||**bit_xor_assign**    ||          ||bitwise_xor_assign     ||                       ||
     45||=`<<=` =||=          =||left_shift_equal     ||**left_shift_assign** ||          ||shift_left_assign      ||                       ||
     46||=`>>=` =||=          =||right_shift_equal    ||**right_shift_assign**||          ||shift_right_assign     ||                       ||
     47||=`++`  =||=          =||prefix_increment     ||**pre_increment**     ||          ||pre_inc                ||incrementable          ||
     48||=`--`  =||=          =||prefix_decrement     ||**pre_decrement**     ||          ||pre_dec                ||decrementable          ||
     49||=`+`   =||=          =||unary_plus           ||**unary_plus**        ||          ||   `=`                 ||                       ||
     50||=`-`   =||=          =||unary_minus          ||**negate**            ||negate    ||negate                 ||                       ||
     51||=`!`   =||=`not`     =||logical_not          ||**logical_not**       ||  `=`     ||logical_not            ||                       ||
     52||=`~`   =||=`compl`   =||complement           ||**complement**        ||          ||complement             ||                       ||
     53||=`*`   =||=          =||dereference          ||**dereference**       ||          ||dereference            ||                       ||
     54||=`++`  =||=          =||postfix_increment    ||**post_increment**    ||          ||post_inc               ||                       ||
     55||=`--`  =||=          =||postfix_decrement    ||**post_decrement**    ||          ||post_dec               ||                       ||
    5656
    5757
     
    6868
    6969||`o=`      || op_equal vs. op_assign || proto and other boost::libs agree on `op_assign`. We can better conceptify to OpAssignable ||
    70 ||          || bit vs. bitwise        || bitwise seems to be more "natural" but some naming in the standard prefers bit_ prefix     ||
     70||          || bit vs. bitwise        || bitwise seems to be more "natural" but some naming in the standard prefers bit_ prefix [[br]] (see http://permalink.gmane.org/gmane.comp.lib.boost.devel/218617) ||
    7171||`<< >>`   || shift_xxx or xxx_shift || goes to xxx_shift, because we can conceptify to xxx_shiftable more nicely. ||
    7272||`++ --`   || pre/postfix vs. pre/post || goes to pre_in/decrement post_in/decrement. Seems simpler and more natural. ||
    7373
    74 A higher naming consistency could be reached, if the standard was changed for 3 names:
    75 
    76 {{{
    77 #!c++
    78 // 20.8.7, bitwise operations:
    79 template <class T> struct bit_and;
    80 template <class T> struct bit_or;
    81 template <class T> struct bit_xor;
    82 }}}
    83 
    84 In 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.
    85