- メインページ
- モジュール
- ネームスペース
- データ構造
- ファイル

- ファイル一覧
- グローバル

データ構造 | ネームスペース | マクロ定義
type_trait.h

型の情報を取得・判定するためのライブラリ [詳細]

`#include "mist_conf.h"`

ソースコードを見る。

## データ構造
struct | mist::is_char< T >
| char 判定 [詳細]
struct | mist::is_float< T >
| 浮動小数点 判定 [詳細]
struct | mist::is_integer< T >
| integer 判定 [詳細]
struct | mist::is_signed< T >
| 符号付き型かどうか判定 [詳細]
struct | mist::is_arithmetic< T >
| arithmetic 判定 [詳細]
struct | mist::is_builtin< T >
| 組み込み型の判定 [詳細]
struct | mist::float_type< T >
| 対応する float 型を返す [詳細]
struct | mist::promote_trait< T1, T2 >
| 型の昇格型を返す [詳細]
struct | mist::type_trait< T >
| データ型の確定を避けるために利用する [詳細]
struct | mist::half_adjust< T >
| 値の四捨五入をする [詳細]
struct | mist::type_and< b1, b2, b3, b4, b5, b6, b7 >
| 型のAND演算を行う [詳細]
struct | mist::type_or< b1, b2, b3, b4, b5, b6, b7 >
| 型のOR演算を行う型 [詳細]
struct | mist::type_not< b1 >
| 型のNOT演算を行う型 [詳細]
struct | mist::type_equal< b1, b2 >
| 型のEQUAL演算を行う型 [詳細]

## ネームスペース
namespace | mist

## マクロ定義
#define | DEFINE_PROMOTE_BIND_OPERATOR1(TYPE, OPERATOR)
| 型の昇格を用いた四則演算子を定義する際に利用する
#define | DEFINE_PROMOTE_BIND_OPERATOR2(TYPE, OPERATOR)
| 型の昇格を用いた四則演算子を定義する際に利用する
#define | DEFINE_PROMOTE_BIND_OPERATOR3(TYPE, OPERATOR)
| 型の昇格を用いた四則演算子を定義する際に利用する
#define | DEFINE_PROMOTE_BIND_OPERATOR4(TYPE, OPERATOR)
| 型の昇格を用いた四則演算子を定義する際に利用する
#define | DEFINE_PROMOTE_BIND_OPERATOR1_(TYPE, OPERATOR)
| 型の昇格を用いた四則演算子を定義する際に利用する
#define | DEFINE_PROMOTE_BIND_OPERATOR2_(TYPE, OPERATOR)
| 型の昇格を用いた四則演算子を定義する際に利用する
#define | DEFINE_PROMOTE_BIND_OPERATOR3_(TYPE, OPERATOR)
| 型の昇格を用いた四則演算子を定義する際に利用する
#define | DEFINE_PROMOTE_BIND_OPERATOR4_(TYPE, OPERATOR)
| 型の昇格を用いた四則演算子を定義する際に利用する

## 説明

型の情報を取得・判定するためのライブラリ

## マクロ定義

#define DEFINE_PROMOTE_BIND_OPERATOR1 | ( |  | TYPE,
|  |  | OPERATOR
| ) |  |

値:
template < class T1, class T2 > \
inline TYPE< typename promote_trait< T1, T2 >::value_type > \
operator OPERATOR( const TYPE< T1 > &t1, const TYPE< T2 > &t2 ) \
{ \
return( TYPE< typename promote_trait< T1, T2 >::value_type >( t1 ) OPERATOR ## = t2 ); \
}

型の昇格を用いた四則演算子を定義する際に利用する

オブジェクト '演算子' オブジェクト を実現する際に利用する．

#define DEFINE_PROMOTE_BIND_OPERATOR1_ | ( |  | TYPE,
|  |  | OPERATOR
| ) |  |

値:
template < class T1, class T2, size_t NDIM > \
inline TYPE< typename promote_trait< T1, T2 >::value_type, NDIM > \
operator OPERATOR( const TYPE< T1, NDIM > &t1, const TYPE< T2, NDIM > &t2 ) \
{ \
return( TYPE< typename promote_trait< T1, T2 >::value_type, NDIM >( t1 ) OPERATOR ## = t2 ); \
}

型の昇格を用いた四則演算子を定義する際に利用する

オブジェクト '演算子' オブジェクト を実現する際に利用する．

#define DEFINE_PROMOTE_BIND_OPERATOR2 | ( |  | TYPE,
|  |  | OPERATOR
| ) |  |

値:
template < class T1, class T2 > \
inline TYPE< typename promote_trait< T1, T2 >::value_type > \
operator OPERATOR( const TYPE< T1 > &t1, const T2 &t2 ) \
{ \
return( TYPE< typename promote_trait< T1, T2 >::value_type >( t1 ) OPERATOR ## = t2 ); \
}

型の昇格を用いた四則演算子を定義する際に利用する

オブジェクト '演算子' 定数 を実現する際に利用する．

#define DEFINE_PROMOTE_BIND_OPERATOR2_ | ( |  | TYPE,
|  |  | OPERATOR
| ) |  |

値:
template < class T1, class T2, size_t NDIM > \
inline TYPE< typename promote_trait< T1, T2 >::value_type, NDIM > \
operator OPERATOR( const TYPE< T1, NDIM > &t1, const T2 &t2 ) \
{ \
return( TYPE< typename promote_trait< T1, T2 >::value_type, NDIM >( t1 ) OPERATOR ## = t2 ); \
}

型の昇格を用いた四則演算子を定義する際に利用する

オブジェクト '演算子' 定数 を実現する際に利用する．

#define DEFINE_PROMOTE_BIND_OPERATOR3 | ( |  | TYPE,
|  |  | OPERATOR
| ) |  |

値:
template < class T1, class T2 > \
inline TYPE< typename promote_trait< T1, T2 >::value_type > \
operator OPERATOR( const T1 &t1, const TYPE< T2 > &t2 ) \
{ \
return( TYPE< typename promote_trait< T1, T2 >::value_type >( t2 ) OPERATOR ## = t1 ); \
}

型の昇格を用いた四則演算子を定義する際に利用する

定数 '演算子' オブジェクト を実現する際に利用する．主に，引き算以外で利用する．

#define DEFINE_PROMOTE_BIND_OPERATOR3_ | ( |  | TYPE,
|  |  | OPERATOR
| ) |  |

値:
template < class T1, class T2, size_t NDIM > \
inline TYPE< typename promote_trait< T1, T2 >::value_type, NDIM > \
operator OPERATOR( const T1 &t1, const TYPE< T2, NDIM > &t2 ) \
{ \
return( TYPE< typename promote_trait< T1, T2 >::value_type, NDIM >( t2 ) OPERATOR ## = t1 ); \
}

型の昇格を用いた四則演算子を定義する際に利用する

定数 '演算子' オブジェクト を実現する際に利用する．主に，引き算以外で利用する．

#define DEFINE_PROMOTE_BIND_OPERATOR4 | ( |  | TYPE,
|  |  | OPERATOR
| ) |  |

値:
template < class T1, class T2 > \
inline TYPE< typename promote_trait< T1, T2 >::value_type > \
operator OPERATOR( const T1 &t1, const TYPE< T2 > &t2 ) \
{ \
return( TYPE< typename promote_trait< T1, T2 >::value_type >( t1 ) OPERATOR ## = t2 ); \
}

型の昇格を用いた四則演算子を定義する際に利用する

定数 '−' オブジェクト を実現する際に利用する．ただし，1引数のコンストラクタが利用可能でなくてはならない．

#define DEFINE_PROMOTE_BIND_OPERATOR4_ | ( |  | TYPE,
|  |  | OPERATOR
| ) |  |

値:
template < class T1, class T2, size_t NDIM > \
inline TYPE< typename promote_trait< T1, T2 >::value_type, NDIM > \
operator OPERATOR( const T1 &t1, const TYPE< T2, NDIM > &t2 ) \
{ \
return( TYPE< typename promote_trait< T1, T2 >::value_type, NDIM >( t1 ) OPERATOR ## = t2 ); \
}

型の昇格を用いた四則演算子を定義する際に利用する

定数 '−' オブジェクト を実現する際に利用する．ただし，1引数のコンストラクタが利用可能でなくてはならない．