Proud::NetVariant Class Reference

Public Member Functions

PROUD_API NetVariant (const NetVariant &rhs)
 
PROUD_API void Reset ()
 
PROUD_API DECLARE_NETVARIANT_RAWTYPE (int8_t) PROUD_API DECLARE_NETVARIANT_RAWTYPE(uint8_t) PROUD_API DECLARE_NETVARIANT_RAWTYPE(int16_t) PROUD_API DECLARE_NETVARIANT_RAWTYPE(uint16_t) PROUD_API DECLARE_NETVARIANT_RAWTYPE(int32_t) PROUD_API DECLARE_NETVARIANT_RAWTYPE(uint32_t) PROUD_API DECLARE_NETVARIANT_RAWTYPE(int64_t) PROUD_API DECLARE_NETVARIANT_RAWTYPE(uint64_t) PROUD_API DECLARE_NETVARIANT_RAWTYPE(bool) PROUD_API DECLARE_NETVARIANT_RAWTYPE(float) PROUD_API DECLARE_NETVARIANT_RAWTYPE(double) inline bool operator<(const NetVariant &a) const
 
bool operator== (const NetVariant &a) const
 
bool operator!= (const NetVariant &a) const
 
PROUD_API NetVariant (const char *value)
 
PROUD_API NetVariant (const PNTCHAR *value)
 
 operator String () const
 
PROUD_API NetVariant (const ByteArray &value)
 
 operator ByteArray () const
 
NetVariantType GetType () const
 
bool GetIndexed () const
 
void SetIndexed (bool indexed)
 
template<typename T >
Get_Raw (NetVariantType type) const
 
void * GetBuffer_Internal ()
 
const void * GetBuffer_Internal () const
 
int8_t GetInt8 () const
 
uint8_t GetUint8 () const
 
int16_t GetInt16 () const
 
uint16_t GetUint16 () const
 
int32_t GetInt32 () const
 
uint32_t GetUint32 () const
 
int64_t GetInt64 () const
 
uint64_t GetUint64 () const
 
bool GetBool () const
 
float GetFloat () const
 
double GetDouble () const
 
String GetString () const
 
ByteArray GetBinary () const
 
ByteArrayGetBinaryPtr () const
 
void WriteBinary (const uint8_t *data, int length)
 
int GetBinaryLength ()
 
int ReadBinary (uint8_t *data, int length)
 
int CompBinary (const NetVariant &a) const
 

Detailed Description

일반적인 variant type 클래스.

비슷한 종류의 다른 객체와의 차이는 다음과 같습니다.

  • CVariant는 ADO,OLE,COM등을 위해 쓰이는 것인지라, 윈도 전용이다. 하지만 이것은 모든 플랫폼에서 쓸 수 있다.
  • COdbcVariant는 ODBC에서 지원하는 변수 타입을 위한 것인지라, 클라,서버 모두가 쓰기에는 불필요하게 무겁다. 하지만 이것은 외부 코드에 의존하지 않는다.

일반적인 사용법

  • 변수를 선언한다.
  • 평소처럼 변수에 값을 입력하거나 출력하면 된다.
NetVariant a;
a = (int)1;
assert(a.GetType()==NetVariantType_Int32);
int b = a;
NetVariant b;
b = _PNT("abc");

Member Function Documentation

PROUD_API void Proud::NetVariant::Reset ( )

내용물을 없애고 초기화합니다.