YSTest  PreAlpha_b400_20130424
The YSLib Test Project
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
operators.hpp 文件参考

重载操作符。 更多...

#include "../ydef.h"
operators.hpp 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

struct  ystdex::details::less_than_comparable2< _type, _type2, _tBase >
 
struct  ystdex::details::less_than_comparable1< _type, _tBase >
 
struct  ystdex::details::equality_comparable2< _type, _type2, _tBase >
 
struct  ystdex::details::equality_comparable1< _type, _tBase >
 
struct  ystdex::details::equivalent2< _type, _type2, _tBase >
 
struct  ystdex::details::equivalent1< _type, _tBase >
 
struct  ystdex::details::partially_ordered2< _type, _type2, _tBase >
 
struct  ystdex::details::partially_ordered1< _type, _tBase >
 
struct  ystdex::details::multipliable2< _type, _type2, _tBase >
 
struct  ystdex::details::multipliable1< _type, _tBase >
 
struct  ystdex::details::addable2< _type, _type2, _tBase >
 
struct  ystdex::details::addable1< _type, _tBase >
 
struct  ystdex::details::subtractable2< _type, _type2, _tBase >
 
struct  ystdex::details::subtractable2_left< _type, _type2, _tBase >
 
struct  ystdex::details::subtractable1< _type, _tBase >
 
struct  ystdex::details::dividable2< _type, _type2, _tBase >
 
struct  ystdex::details::dividable2_left< _type, _type2, _tBase >
 
struct  ystdex::details::dividable1< _type, _tBase >
 
struct  ystdex::details::modable2< _type, _type2, _tBase >
 
struct  ystdex::details::modable2_left< _type, _type2, _tBase >
 
struct  ystdex::details::modable1< _type, _tBase >
 
struct  ystdex::details::xorable2< _type, _type2, _tBase >
 
struct  ystdex::details::xorable1< _type, _tBase >
 
struct  ystdex::details::andable2< _type, _type2, _tBase >
 
struct  ystdex::details::andable1< _type, _tBase >
 
struct  ystdex::details::orable2< _type, _type2, _tBase >
 
struct  ystdex::details::orable1< _type, _tBase >
 
struct  ystdex::details::left_shiftable2< _type, _type2, _tBase >
 
struct  ystdex::details::left_shiftable1< _type, _tBase >
 
struct  ystdex::details::right_shiftable2< _type, _type2, _tBase >
 
struct  ystdex::details::right_shiftable1< _type, _tBase >
 
struct  ystdex::details::incrementable< _type, _tBase >
 
struct  ystdex::details::decrementable< _type, _tBase >
 
struct  ystdex::details::dereferenceable< _type, _tBase >
 
struct  ystdex::details::indexable< _type, _type2, _tBase >
 
struct  ystdex::details::totally_ordered2< _type, _type2, _tBase >
 
struct  ystdex::details::totally_ordered1< _type, _tBase >
 
struct  ystdex::details::additive2< _type, _type2, _tBase >
 
struct  ystdex::details::additive1< _type, _tBase >
 
struct  ystdex::details::multiplicative2< _type, _type2, _tBase >
 
struct  ystdex::details::multiplicative1< _type, _tBase >
 
struct  ystdex::details::integer_multiplicative2< _type, _type2, _tBase >
 
struct  ystdex::details::integer_multiplicative1< _type, _tBase >
 
struct  ystdex::details::arithmetic2< _type, _type2, _tBase >
 
struct  ystdex::details::arithmetic1< _type, _tBase >
 
struct  ystdex::details::integer_arithmetic2< _type, _type2, _tBase >
 
struct  ystdex::details::integer_arithmetic1< _type, _tBase >
 
struct  ystdex::details::bitwise2< _type, _type2, _tBase >
 
struct  ystdex::details::bitwise1< _type, _tBase >
 
struct  ystdex::details::unit_steppable< _type, _tBase >
 
struct  ystdex::details::shiftable2< _type, _type2, _tBase >
 
struct  ystdex::details::shiftable1< _type, _tBase >
 
struct  ystdex::details::ring_operators2< _type, _type2, _tBase >
 
struct  ystdex::details::ring_operators1< _type, _tBase >
 
struct  ystdex::details::ordered_ring_operators2< _type, _type2, _tBase >
 
struct  ystdex::details::ordered_ring_operators1< _type, _tBase >
 
struct  ystdex::details::field_operators2< _type, _type2, _tBase >
 
struct  ystdex::details::field_operators1< _type, _tBase >
 
struct  ystdex::details::ordered_field_operators2< _type, _type2, _tBase >
 
struct  ystdex::details::ordered_field_operators1< _type, _tBase >
 
struct  ystdex::details::euclidian_ring_operators2< _type, _type2, _tBase >
 
struct  ystdex::details::euclidian_ring_operators1< _type, _tBase >
 
struct  ystdex::details::ordered_euclidian_ring_operators2< _type, _type2, _tBase >
 
struct  ystdex::details::ordered_euclidian_ring_operators1< _type, _tBase >
 
struct  ystdex::details::euclidean_ring_operators2< _type, _type2, _tBase >
 
struct  ystdex::details::euclidean_ring_operators1< _type, _tBase >
 
struct  ystdex::details::ordered_euclidean_ring_operators2< _type, _type2, _tBase >
 
struct  ystdex::details::ordered_euclidean_ring_operators1< _type, _tBase >
 
struct  ystdex::details::input_iteratable< _type, _tBase >
 
struct  ystdex::details::output_iteratable< _type, _tBase >
 
struct  ystdex::details::forward_iteratable< _type, _tBase >
 
struct  ystdex::details::bidirectional_iteratable< _type, _tBase >
 
struct  ystdex::details::random_access_iteratable< _type, _type2, _tBase >
 
struct  ystdex::operators::is_chained_base< class >
 
struct  ystdex::operators::less_than_comparable< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::less_than_comparable< _type, _type2, _tBase, true >
 
struct  ystdex::operators::less_than_comparable< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< less_than_comparable< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< less_than_comparable2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< less_than_comparable1< _type, _tBase > >
 
struct  ystdex::operators::equality_comparable< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::equality_comparable< _type, _type2, _tBase, true >
 
struct  ystdex::operators::equality_comparable< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< equality_comparable< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< equality_comparable2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< equality_comparable1< _type, _tBase > >
 
struct  ystdex::operators::multipliable< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::multipliable< _type, _type2, _tBase, true >
 
struct  ystdex::operators::multipliable< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< multipliable< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< multipliable2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< multipliable1< _type, _tBase > >
 
struct  ystdex::operators::addable< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::addable< _type, _type2, _tBase, true >
 
struct  ystdex::operators::addable< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< addable< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< addable2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< addable1< _type, _tBase > >
 
struct  ystdex::operators::subtractable< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::subtractable< _type, _type2, _tBase, true >
 
struct  ystdex::operators::subtractable< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< subtractable< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< subtractable2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< subtractable1< _type, _tBase > >
 
struct  ystdex::operators::is_chained_base< subtractable2_left< _type, _type2, _tBase > >
 
struct  ystdex::operators::dividable< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::dividable< _type, _type2, _tBase, true >
 
struct  ystdex::operators::dividable< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< dividable< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< dividable2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< dividable1< _type, _tBase > >
 
struct  ystdex::operators::is_chained_base< dividable2_left< _type, _type2, _tBase > >
 
struct  ystdex::operators::modable< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::modable< _type, _type2, _tBase, true >
 
struct  ystdex::operators::modable< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< modable< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< modable2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< modable1< _type, _tBase > >
 
struct  ystdex::operators::is_chained_base< modable2_left< _type, _type2, _tBase > >
 
struct  ystdex::operators::xorable< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::xorable< _type, _type2, _tBase, true >
 
struct  ystdex::operators::xorable< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< xorable< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< xorable2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< xorable1< _type, _tBase > >
 
struct  ystdex::operators::andable< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::andable< _type, _type2, _tBase, true >
 
struct  ystdex::operators::andable< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< andable< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< andable2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< andable1< _type, _tBase > >
 
struct  ystdex::operators::orable< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::orable< _type, _type2, _tBase, true >
 
struct  ystdex::operators::orable< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< orable< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< orable2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< orable1< _type, _tBase > >
 
struct  ystdex::operators::is_chained_base< incrementable< _type, _tBase > >
 
struct  ystdex::operators::is_chained_base< decrementable< _type, _tBase > >
 
struct  ystdex::operators::is_chained_base< dereferenceable< _type, _tBase > >
 
struct  ystdex::operators::is_chained_base< indexable< _type, _type2, _tBase > >
 
struct  ystdex::operators::left_shiftable< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::left_shiftable< _type, _type2, _tBase, true >
 
struct  ystdex::operators::left_shiftable< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< left_shiftable< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< left_shiftable2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< left_shiftable1< _type, _tBase > >
 
struct  ystdex::operators::right_shiftable< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::right_shiftable< _type, _type2, _tBase, true >
 
struct  ystdex::operators::right_shiftable< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< right_shiftable< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< right_shiftable2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< right_shiftable1< _type, _tBase > >
 
struct  ystdex::operators::equivalent< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::equivalent< _type, _type2, _tBase, true >
 
struct  ystdex::operators::equivalent< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< equivalent< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< equivalent2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< equivalent1< _type, _tBase > >
 
struct  ystdex::operators::partially_ordered< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::partially_ordered< _type, _type2, _tBase, true >
 
struct  ystdex::operators::partially_ordered< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< partially_ordered< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< partially_ordered2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< partially_ordered1< _type, _tBase > >
 
struct  ystdex::operators::totally_ordered< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::totally_ordered< _type, _type2, _tBase, true >
 
struct  ystdex::operators::totally_ordered< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< totally_ordered< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< totally_ordered2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< totally_ordered1< _type, _tBase > >
 
struct  ystdex::operators::additive< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::additive< _type, _type2, _tBase, true >
 
struct  ystdex::operators::additive< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< additive< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< additive2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< additive1< _type, _tBase > >
 
struct  ystdex::operators::multiplicative< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::multiplicative< _type, _type2, _tBase, true >
 
struct  ystdex::operators::multiplicative< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< multiplicative< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< multiplicative2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< multiplicative1< _type, _tBase > >
 
struct  ystdex::operators::integer_multiplicative< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::integer_multiplicative< _type, _type2, _tBase, true >
 
struct  ystdex::operators::integer_multiplicative< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< integer_multiplicative< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< integer_multiplicative2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< integer_multiplicative1< _type, _tBase > >
 
struct  ystdex::operators::arithmetic< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::arithmetic< _type, _type2, _tBase, true >
 
struct  ystdex::operators::arithmetic< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< arithmetic< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< arithmetic2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< arithmetic1< _type, _tBase > >
 
struct  ystdex::operators::integer_arithmetic< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::integer_arithmetic< _type, _type2, _tBase, true >
 
struct  ystdex::operators::integer_arithmetic< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< integer_arithmetic< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< integer_arithmetic2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< integer_arithmetic1< _type, _tBase > >
 
struct  ystdex::operators::bitwise< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::bitwise< _type, _type2, _tBase, true >
 
struct  ystdex::operators::bitwise< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< bitwise< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< bitwise2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< bitwise1< _type, _tBase > >
 
struct  ystdex::operators::is_chained_base< unit_steppable< _type, _tBase > >
 
struct  ystdex::operators::shiftable< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::shiftable< _type, _type2, _tBase, true >
 
struct  ystdex::operators::shiftable< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< shiftable< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< shiftable2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< shiftable1< _type, _tBase > >
 
struct  ystdex::operators::ring_operators< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::ring_operators< _type, _type2, _tBase, true >
 
struct  ystdex::operators::ring_operators< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< ring_operators< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< ring_operators2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< ring_operators1< _type, _tBase > >
 
struct  ystdex::operators::ordered_ring_operators< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::ordered_ring_operators< _type, _type2, _tBase, true >
 
struct  ystdex::operators::ordered_ring_operators< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< ordered_ring_operators< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< ordered_ring_operators2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< ordered_ring_operators1< _type, _tBase > >
 
struct  ystdex::operators::field_operators< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::field_operators< _type, _type2, _tBase, true >
 
struct  ystdex::operators::field_operators< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< field_operators< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< field_operators2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< field_operators1< _type, _tBase > >
 
struct  ystdex::operators::ordered_field_operators< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::ordered_field_operators< _type, _type2, _tBase, true >
 
struct  ystdex::operators::ordered_field_operators< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< ordered_field_operators< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< ordered_field_operators2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< ordered_field_operators1< _type, _tBase > >
 
struct  ystdex::operators::euclidian_ring_operators< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::euclidian_ring_operators< _type, _type2, _tBase, true >
 
struct  ystdex::operators::euclidian_ring_operators< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< euclidian_ring_operators< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< euclidian_ring_operators2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< euclidian_ring_operators1< _type, _tBase > >
 
struct  ystdex::operators::ordered_euclidian_ring_operators< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::ordered_euclidian_ring_operators< _type, _type2, _tBase, true >
 
struct  ystdex::operators::ordered_euclidian_ring_operators< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< ordered_euclidian_ring_operators< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< ordered_euclidian_ring_operators2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< ordered_euclidian_ring_operators1< _type, _tBase > >
 
struct  ystdex::operators::euclidean_ring_operators< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::euclidean_ring_operators< _type, _type2, _tBase, true >
 
struct  ystdex::operators::euclidean_ring_operators< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< euclidean_ring_operators< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< euclidean_ring_operators2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< euclidean_ring_operators1< _type, _tBase > >
 
struct  ystdex::operators::ordered_euclidean_ring_operators< _type, _type2, _tBase, _v >
 
struct  ystdex::operators::ordered_euclidean_ring_operators< _type, _type2, _tBase, true >
 
struct  ystdex::operators::ordered_euclidean_ring_operators< _type, _type, _tBase, false >
 
struct  ystdex::operators::is_chained_base< ordered_euclidean_ring_operators< _type, _type2, _tBase, _v > >
 
struct  ystdex::operators::is_chained_base< ordered_euclidean_ring_operators2< _type, _type2, _tBase > >
 
struct  ystdex::operators::is_chained_base< ordered_euclidean_ring_operators1< _type, _tBase > >
 
struct  ystdex::operators::is_chained_base< input_iteratable< _type, _tBase > >
 
struct  ystdex::operators::is_chained_base< output_iteratable< _type, _tBase > >
 
struct  ystdex::operators::is_chained_base< forward_iteratable< _type, _tBase > >
 
struct  ystdex::operators::is_chained_base< bidirectional_iteratable< _type, _tBase > >
 
struct  ystdex::operators::is_chained_base< random_access_iteratable< _type, _type2, _tBase > >
 

命名空间

namespace  ystdex
 
namespace  ystdex::details
 
namespace  ystdex::operators
 

宏定义

#define YB_OP_FRIEND(_op, _tRet, _expr,...)   friend yconstfn _tRet operator _op (__VA_ARGS__) {return (_expr);}
 
#define YB_OP_TEMPLATE_HEADER2(_name)
 
#define YB_OP_TEMPLATE_HEADER1(_name)
 
#define YB_OP_COMPARE2(_op, _expr, _param_type, _param_type2)
 
#define YB_OP_COMPARE1(_op, _expr, _param_type)
 
#define YB_OP_COMMUTATIVE(_name, _op)
 
#define YB_OP_NON_COMMUTATIVE(_name, _op)
 
#define YB_OP_BINARY(_name, _op)
 
#define YB_OP_CHAIN2(_name)
 
#define YB_OP_CHAIN1(_name)
 
#define YB_OP_CHAIN(_name)
 

详细描述

重载操作符。

版本
r1301
作者
FrankHBfrank.nosp@m.hb19.nosp@m.89@gm.nosp@m.ail..nosp@m.com
自从
build 260
创建时间:
2011-11-13 14:58:05 +0800
修改时间:
2012-09-04 10:46 +0800
字符集:
UTF-8
模块名称:
YStandardEx::Operators

在文件 operators.hpp 中定义.

宏定义说明

#define YB_OP_BINARY (   _name,
  _op 
)
值:
YB_OP_TEMPLATE_HEADER2(_name##2) : _tBase \
{ \
YB_OP_FRIEND(_op, _type, x _op##= y, _type x, const _type2& y) \
}; \
YB_OP_TEMPLATE_HEADER1(_name##1) : _tBase \
{ \
YB_OP_FRIEND(_op, _type, x _op##= y, _type x, const _type& y) \
};

在文件 operators.hpp159 行定义.

#define YB_OP_CHAIN (   _name)
值:
using ystdex::details::_name##2; \
template<class _type, class _type2 = _type, \
class _tBase = empty_base<_type>, \
bool _v = is_chained_base<_type2>::value \
> \
struct _name \
: _name##2<_type, _type2, _tBase> \
{}; \
\
using ystdex::details::_name##1; \
template<class _type, class _type2, class _tBase> \
struct _name<_type, _type2, _tBase, true> \
: _name##1<_type, _type2> \
{}; \
\
template <class _type, class _tBase> \
struct _name<_type, _type, _tBase, false> \
: _name##1<_type, _tBase> \
{}; \
\
template<class _type, class _type2, class _tBase, bool _v> \
struct is_chained_base<_name<_type, _type2, _tBase, _v>> \
: public true_type \
{}; \
YB_OP_CHAIN2(_name##2) \
YB_OP_CHAIN1(_name##1)

在文件 operators.hpp453 行定义.

#define YB_OP_CHAIN1 (   _name)
值:
using ystdex::details::_name; \
template<class _type, class _tBase> \
struct is_chained_base<_name<_type, _tBase>> \
: public true_type \
{};

在文件 operators.hpp446 行定义.

#define YB_OP_CHAIN2 (   _name)
值:
using ystdex::details::_name; \
template<class _type, class _type2, class _tBase> \
struct is_chained_base<_name<_type, _type2, _tBase>> \
: public true_type \
{};

在文件 operators.hpp439 行定义.

#define YB_OP_COMMUTATIVE (   _name,
  _op 
)
值:
YB_OP_TEMPLATE_HEADER2(_name##2) : _tBase \
{ \
YB_OP_FRIEND(_op, _type, x _op##= y, _type x, const _type2& y) \
YB_OP_FRIEND(_op, _type, y _op##= x, const _type2& y, _type x) \
}; \
YB_OP_TEMPLATE_HEADER1(_name##1) : _tBase \
{ \
YB_OP_FRIEND(_op, _type, x _op##= y, _type x, const _type& y) \
};

在文件 operators.hpp120 行定义.

#define YB_OP_COMPARE1 (   _op,
  _expr,
  _param_type 
)
值:
YB_OP_FRIEND(_op, bool, _expr, const _param_type& x, \
const _param_type& y)

在文件 operators.hpp52 行定义.

#define YB_OP_COMPARE2 (   _op,
  _expr,
  _param_type,
  _param_type2 
)
值:
YB_OP_FRIEND(_op, bool, _expr, const _param_type& x, \
const _param_type2& y)

在文件 operators.hpp49 行定义.

#define YB_OP_FRIEND (   _op,
  _tRet,
  _expr,
  ... 
)    friend yconstfn _tRet operator _op (__VA_ARGS__) {return (_expr);}

在文件 operators.hpp36 行定义.

#define YB_OP_NON_COMMUTATIVE (   _name,
  _op 
)
值:
YB_OP_TEMPLATE_HEADER2(_name##2) : _tBase \
{ \
YB_OP_FRIEND(_op, _type, x _op##= y, _type x, const _type2& y) \
}; \
YB_OP_TEMPLATE_HEADER2(_name##2##_##left) : _tBase \
{ \
YB_OP_FRIEND(_op, _type, _type(x) _op##= y, const _type2& x, \
const _type& y) \
}; \
YB_OP_TEMPLATE_HEADER1(_name##1) : _tBase \
{ \
YB_OP_FRIEND(_op, _type, x _op##= y, _type x, const _type& y) \
};

在文件 operators.hpp131 行定义.

#define YB_OP_TEMPLATE_HEADER1 (   _name)
值:
template<class _type, class _tBase = empty_base<_type>> \
struct _name

在文件 operators.hpp41 行定义.

#define YB_OP_TEMPLATE_HEADER2 (   _name)
值:
template<class _type, class _type2, class _tBase = empty_base<_type>> \
struct _name

在文件 operators.hpp38 行定义.