Argument Class Reference

#include <reflection_invocation.h>

Classes

struct   GetHelper
struct   GetHelper< T, typename std::enable_if< STD_IS_REPLACEMENT(reference, T)>::type >
struct   GetHelper< T, typename std::enable_if< STD_IS_REPLACEMENT(scalar, T)>::type >

公共成员函数

  Argument ()
Result < void >  MoveFrom (const ParameterType &type, 数据 &data, BaseArray < 数据 > &storage)
Result < 数据 ToData (const ParameterType &type) const
template<typename T >
std::conditional< STD_IS_REPLACEMENT (scalar, T)|| STD_IS_REPLACEMENT (reference, T), T, T && >::type  Get () const
Generic *  PrivateGetPointerValuePointer ()
Generic *  PrivateGetPointerValue ()
template<>
Float32   Get () const
template<>
Float64   Get () const

静态公共成员函数

static Result < Argument FromData (const ParameterType &type, 数据 &data, BaseArray < 数据 > &storage)
template<typename T >
static Argument   ByReference (T &&value)
template<typename T , typename = typename std::enable_if<!STD_IS_REPLACEMENT(scalar, T)>::type>
static Argument   ByValue (T &value)
template<typename T , typename = typename std::enable_if<STD_IS_REPLACEMENT(scalar, T)>::type>
static Argument   ByValue (T value)
template<typename T , typename = typename std::enable_if<!STD_IS_REPLACEMENT(scalar, T)>::type>
static Argument   For (typename std::remove_reference< T >::type &value)
template<typename T , typename = typename std::enable_if<STD_IS_REPLACEMENT(scalar, T)>::type>
static Argument   For (T value)

私有成员函数

  Argument ( Char x)
  Argument ( Int16 x)
  Argument ( Int32 x)
  Argument ( Int64 x)
  Argument ( Float32 x)
  Argument ( Float64 x)
  Argument (Generic *x)

Private Attributes

union {
    Char     _charValue
    Int16     _int16Value
    Int32     _int32Value
    Int64     _int64Value
    Float32     _float32Value
    Float64     _float64Value
   Generic *    _pointerValue
}; 

构造函数 & 析构函数文档编制

◆  Argument() [1/8]

Argument ( )

◆  Argument() [2/8]

Argument ( Char   x )
explicit private

◆  Argument() [3/8]

Argument ( Int16   x )
explicit private

◆  Argument() [4/8]

Argument ( Int32   x )
explicit private

◆  Argument() [5/8]

Argument ( Int64   x )
explicit private

◆  Argument() [6/8]

Argument ( Float32   x )
explicit private

◆  Argument() [7/8]

Argument ( Float64   x )
explicit private

◆  Argument() [8/8]

Argument ( Generic *  x )
explicit private

成员函数文档编制

◆  MoveFrom()

Result <void> MoveFrom ( const ParameterType type ,
数据 data ,
BaseArray < 数据 > &  storage  
)

◆  ToData()

Result < 数据 > ToData ( const ParameterType type ) const

◆  FromData()

static Result < Argument > FromData ( const ParameterType type ,
数据 data ,
BaseArray < 数据 > &  storage  
)
static

◆  ByReference()

static Argument ByReference ( T &&  value )
static

◆  ByValue() [1/2]

static Argument ByValue ( T &  value )
static

◆  ByValue() [2/2]

static Argument ByValue ( value )
static

◆  For() [1/2]

static Argument For ( typename std::remove_reference< T >::type &  value )
static

◆  For() [2/2]

static Argument For ( value )
static

◆  Get() [1/3]

std::conditional< STD_IS_REPLACEMENT (scalar, T) || STD_IS_REPLACEMENT (reference, T), T, T&&>::type Get ( ) const

◆  PrivateGetPointerValuePointer()

Generic* PrivateGetPointerValuePointer ( )

◆  PrivateGetPointerValue()

Generic* PrivateGetPointerValue ( )

◆  Get() [2/3]

Float32 Get ( ) const

◆  Get() [3/3]

Float64 Get ( ) const

Member Data Documentation

◆  _charValue

Char _charValue

◆  _int16Value

Int16 _int16Value

◆  _int32Value

Int32 _int32Value

◆  _int64Value

Int64 _int64Value

◆  _float32Value

Float32 _float32Value

◆  _float64Value

Float64 _float64Value

◆  _pointerValue

Generic* _pointerValue

◆  @1087

union { ... }