DataPtr Class Reference Data Types

#include <datatypebase.h>

Inheritance diagram for DataPtr:

详细描述

DataPtr contains type info and a pointer to an arbitrary generic non-const object. The type of the object is only known at run-time.

公共成员函数

  DataPtr ()=default
  DataPtr ( 数据 &value)
  DataPtr (const DataType &typeInfo, Generic *dataPtr)
template<typename T >
  DataPtr (T &value)
Generic *  PrivateGetPtr () const
Generic *  GetPtr (const DataType &type)
template<typename T >
T *  GetPtr ()
Result < void >  MoveFrom ( 数据 && src )
Result < void >  CopyFrom (const 数据 & src )
const Generic *  GetPtr (const DataType &type) const
template<typename T >
const T *  GetPtr () const
-  Public Member Functions inherited from ConstDataPtr
  ConstDataPtr ()=default
  ConstDataPtr (const 数据 &value)
  ConstDataPtr (const DataType &typeInfo, const Generic *dataPtr)
template<typename T >
  ConstDataPtr (const T &value)
Bool   IsEmpty () const
Bool   IsPopulated () const
const DataType GetType () const
const Generic *  PrivateGetPtr () const
void  Set (const DataType &typeInfo, const Generic *dataPtr)
template<typename T >
void  Set (const T &value)
void  Set (const 数据 &value)
void  Set ( 数据 &value)
void  Set ( 数据 &&value)
const Generic *  GetPtr (const DataType &type) const
template<typename T >
const T *  GetPtr () const
template<typename T >
Result < typename std::conditional< STD_IS_REPLACEMENT (same, T, 数据 )||( GetCollectionKind < T >::value== COLLECTION_KIND::ARRAY ), T, typename ByValueParam < T >::type >::type >  Get () const
template<typename T >
ByValueParam < T >::type  GetOrNull () const
template<typename T >
ByValueParam < T >::type  Get (const T &defaultValue) const
COMPARERESULT   比较 (const ConstDataPtr &c) const
COMPARERESULT   比较 (const 数据 &c) const
HashInt   GetHashCode () const
Bool   operator== (const ConstDataPtr &c) const
Bool   operator!= (const ConstDataPtr &c) const
Bool   operator< (const ConstDataPtr &c) const
Bool   operator<= (const ConstDataPtr &c) const
Bool   operator> (const ConstDataPtr &c) const
Bool   operator>= (const ConstDataPtr &c) const
String   ToString (const FormatStatement *formatStatement=nullptr) const
template<>
Result < void >  Get () const
template<>
Result < 数据 Get () const

静态公共成员函数

static const DataPtr NullValue ()
-  Static Public Member Functions inherited from ConstDataPtr
static const ConstDataPtr NullValue ()

Additional Inherited Members

-  Protected Member Functions inherited from ConstDataPtr
template<typename T >
Result < typename ByValueParam < T >::type >  GetImpl ( OverloadRank0 ) const
template<typename T >
std::enable_if< GetCollectionKind < T >::value== COLLECTION_KIND::ARRAY , Result < T > >::type  GetImpl ( OverloadRank1 ) const
-  Protected Attributes inherited from ConstDataPtr
DataType   _typeInfo
const Generic *  _dataPtr

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

◆  DataPtr() [1/4]

DataPtr ( )
default

◆  DataPtr() [2/4]

DataPtr ( 数据 value )
explicit

◆  DataPtr() [3/4]

DataPtr ( const DataType typeInfo ,
Generic *  dataPtr  
)

◆  DataPtr() [4/4]

DataPtr ( T &  value )
explicit

成员函数文档编制

◆  PrivateGetPtr()

Generic* PrivateGetPtr ( ) const

◆  GetPtr() [1/4]

Generic* GetPtr ( const DataType type )

◆  GetPtr() [2/4]

T* GetPtr ( )

◆  NullValue()

static const DataPtr & NullValue ( )
static

◆  MoveFrom()

Result <void> MoveFrom ( 数据 &&  src )

Moves from another 数据 .

参数
[in] src 数据 to move from.
返回
OK on success (will fail if this DataPtr has a non-matching type).

◆  CopyFrom()

Result <void> CopyFrom ( const 数据 src )

Copies from another 数据 .

参数
[in] src 数据 to copy from.
返回
OK on success (will fail if this DataPtr has a non-matching type).

◆  GetPtr() [3/4]

const Generic* GetPtr

◆  GetPtr() [4/4]

const T* GetPtr ( typename T  )