#include <global_ops_traits.hh>
Inheritance diagram for ntg::internal::operator_traits< Op, T, U >:
Public Types | |
typedef undefined_traits | ret |
typedef undefined_traits | impl |
enum | { commutative = false } |
operator_traits traits should not be used directly. Instead one should use deduce_from_traits, see comments below for more details.
These traits defines 3 properties:
commutative (enum): Tells whether the operator is commutative or not.
ret (typedef): Specifies the return type.
impl (typedef): Specifies the type which implement the operator, that is, the type T such as optraits<T>::operatorX is the good implementation.
To specify the concerned operator, one empty class represent each operator. For example, to specify the traits associated to the + operator with T1 and T2 as arguments:
template <class T1, class T2> struct operator_traits<operator_plus, T1, T2> { ... }
Definition at line 128 of file global_ops_traits.hh.