plll  1.0
plll::arithmetic::unary_operation< A, Op > Struct Template Reference

Provides information on the result of an unary arithmetic operation. More...

#include <arithmetic.hpp>

Public Types

enum  { supported = implementation::unary_operation_impl<typename helper::remove_decorations<A>::Result, Op>::supported, intermediate_expression = implementation::unary_operation_impl<typename helper::remove_decorations<A>::Result, Op>::intermediate_expression }
 
typedef
implementation::unary_operation_impl
< typename
helper::remove_decorations< A >
::Result, Op >
::IntermediateType 
IntermediateType
 
typedef
implementation::unary_operation_impl
< typename
helper::remove_decorations< A >
::Result, Op >::ResultType 
ResultType
 

Detailed Description

template<typename A, typename Op>
struct plll::arithmetic::unary_operation< A, Op >

Provides information on the result of an unary arithmetic operation.

See Result Types of Arithmetic Operations for documentation.

Template Parameters
AThe operand.
OpThe operator. Should be op::negation.

Definition at line 150 of file arithmetic.hpp.

Member Typedef Documentation

The intermediate result of the operation op involving one operand of type A. This will be the direct result type of op A, and usually is a type which contains almost no informations and which can be copied efficiently (as opposed to ResultType, which can be expensive to copy).

Definition at line 166 of file arithmetic.hpp.

template<typename A, typename Op>
typedef implementation::unary_operation_impl<typename helper::remove_decorations<A>::Result, Op>::ResultType plll::arithmetic::unary_operation< A, Op >::ResultType

The final result type of the operation op involving one operand of type A.

Definition at line 164 of file arithmetic.hpp.

Member Enumeration Documentation

template<typename A, typename Op>
anonymous enum
Enumerator
supported 

A boolean telling whether the current operation is supported, i.e. whether the other fields and properties are defined. This should always be true except if the instantiation is not defined.

intermediate_expression 

A boolean telling whether the result of the expression is an intermediate expression, for example in case of expression templates, or already a final value. In case this is true, ResultType and IntermediateType are different types, and in case this is false, they are the same type.

Definition at line 152 of file arithmetic.hpp.


The documentation for this struct was generated from the following file: