YSTest: operators.hpp 文件参考

YSTest PreAlpha_b500_20140530 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

- 文件列表
- 文件成员

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
类 | 命名空间 | 宏定义
operators.hpp 文件参考
YStandardExtend

重载操作符。 更多...

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

## 命名空间

| ystdex
| ystdex::details

## 宏定义

#define | YB_OP_FRIEND(_op, _tRet, _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)

## 详细描述

重载操作符。

版本
  r1444

作者
  FrankHB frank.nosp@m.hb19.nosp@m.89@gm.nosp@m.ail..nosp@m.com

自从
  build 260

创建时间:
  2011-11-13 14:58:05 +0800

修改时间:
  2014-04-29 13:37 +0800

文本编码:
  UTF-8

模块名称:
  YStandardEx::Operators

注解
  用法同 Boost.Operators ，但迭代器相关部分参数有所删减。

参见
  http://www.boost.org/doc/libs/1_54_0/boost/operators.hpp 。

在文件 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) \
};
YB_OP_TEMPLATE_HEADER2
#define YB_OP_TEMPLATE_HEADER2(_name)
Definition: operators.hpp:41
YB_OP_FRIEND
#define YB_OP_FRIEND(_op, _tRet, _expr,...)
Definition: operators.hpp:38
YB_OP_TEMPLATE_HEADER1
#define YB_OP_TEMPLATE_HEADER1(_name)
Definition: operators.hpp:44

在文件 operators.hpp 第 162 行定义.

#define YB_OP_CHAIN | ( |  | _name | ) |

值:
using ystdex::details::_name##2; \
template<class _type, class _type2 = _type, class \
_tBase = empty_base<_type>, bool _b = 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 _b> \
struct is_chained_base<_name<_type, _type2, _tBase, _b>> \
: true_type \
{}; \
\
YB_OP_CHAIN2(_name##2) \
YB_OP_CHAIN1(_name##1)
YB_OP_CHAIN2
#define YB_OP_CHAIN2(_name)
Definition: operators.hpp:384
YB_OP_CHAIN1
#define YB_OP_CHAIN1(_name)
Definition: operators.hpp:390

在文件 operators.hpp 第 396 行定义.

#define YB_OP_CHAIN1 | ( |  | _name | ) |

值:
using ystdex::details::_name; \
template<class _type, class _tBase> \
struct is_chained_base<_name<_type, _tBase>> : true_type \
{};

在文件 operators.hpp 第 390 行定义.

#define YB_OP_CHAIN2 | ( |  | _name | ) |

值:
using ystdex::details::_name; \
template<class _type, class _type2, class _tBase> \
struct is_chained_base<_name<_type, _type2, _tBase>> : true_type \
{};

在文件 operators.hpp 第 384 行定义.

#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& x, _type y) \
}; \
YB_OP_TEMPLATE_HEADER1(_name##1) : _tBase \
{ \
YB_OP_FRIEND(_op, _type, x _op##= y, _type x, const _type& y) \
};
YB_OP_TEMPLATE_HEADER2
#define YB_OP_TEMPLATE_HEADER2(_name)
Definition: operators.hpp:41
YB_OP_FRIEND
#define YB_OP_FRIEND(_op, _tRet, _expr,...)
Definition: operators.hpp:38
YB_OP_TEMPLATE_HEADER1
#define YB_OP_TEMPLATE_HEADER1(_name)
Definition: operators.hpp:44

在文件 operators.hpp 第 123 行定义.

#define YB_OP_COMPARE1 | ( |  | _op,
|  |  | _expr,
|  |  | _param_type
| ) |  |

值:
YB_OP_FRIEND(_op, bool, _expr, const _param_type& x, \
const _param_type& y)
YB_OP_FRIEND
#define YB_OP_FRIEND(_op, _tRet, _expr,...)
Definition: operators.hpp:38

在文件 operators.hpp 第 55 行定义.

#define YB_OP_COMPARE2 | ( |  | _op,
|  |  | _expr,
|  |  | _param_type,
|  |  | _param_type2
| ) |  |

值:
YB_OP_FRIEND(_op, bool, _expr, const _param_type& x, \
const _param_type2& y)
YB_OP_FRIEND
#define YB_OP_FRIEND(_op, _tRet, _expr,...)
Definition: operators.hpp:38

在文件 operators.hpp 第 52 行定义.

#define YB_OP_FRIEND | ( |  | _op,
|  |  | _tRet,
|  |  | _expr,
|  |  | ...
| ) |  |

值:
friend yconstfn _tRet \
operator _op (__VA_ARGS__) {return (_expr);}
yconstfn
#define yconstfn
指定编译时常量函数。
Definition: ydef.h:463

在文件 operators.hpp 第 38 行定义.

#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) \
};
YB_OP_TEMPLATE_HEADER2
#define YB_OP_TEMPLATE_HEADER2(_name)
Definition: operators.hpp:41
YB_OP_FRIEND
#define YB_OP_FRIEND(_op, _tRet, _expr,...)
Definition: operators.hpp:38
YB_OP_TEMPLATE_HEADER1
#define YB_OP_TEMPLATE_HEADER1(_name)
Definition: operators.hpp:44

在文件 operators.hpp 第 134 行定义.

#define YB_OP_TEMPLATE_HEADER1 | ( |  | _name | ) |

值:
template<class _type, class _tBase = empty_base<_type>> \
struct _name

在文件 operators.hpp 第 44 行定义.

#define YB_OP_TEMPLATE_HEADER2 | ( |  | _name | ) |

值:
template<class _type, class _type2, class _tBase = empty_base<_type>> \
struct _name

在文件 operators.hpp 第 41 行定义.