NCBI C++ ToolKit
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members

Represents ASN.1 type Variant defined in file varrep.asn

Search Toolkit Book for CVariant

CVariant –. More...

#include <dbapi/variant.hpp>

+ Inheritance diagram for CVariant:
+ Collaboration diagram for CVariant:

Public Member Functions

 CVariant (Int8 v)
 
 CVariant (Int4 v)
 
 CVariant (Int2 v)
 
 CVariant (Uint1 v)
 
 CVariant (float v)
 
 CVariant (double v)
 
 CVariant (bool v)
 
 CVariant (const string &v)
 
 CVariant (const char *s)
 
 CVariant (const TStringUCS2 &v)
 
 CVariant (EDB_Type type, size_t size=0)
 
 CVariant (const class CTime &v, EDateTimeFormat fmt)
 
 CVariant (CDB_Object *obj)
 
 CVariant (const CVariant &v)
 
 ~CVariant ()
 
EDB_Type GetType () const
 
Int8 GetInt8 (void) const
 
string GetString (void) const
 
Int4 GetInt4 (void) const
 
Int2 GetInt2 (void) const
 
Uint1 GetByte (void) const
 
float GetFloat (void) const
 
double GetDouble (void) const
 
bool GetBit (void) const
 
string GetNumeric (void) const
 
const CTimeGetCTime (void) const
 
string AsNotNullString (const string &v) const
 
bool IsNull () const
 
void SetNull ()
 
CVariantoperator= (const CVariant &v)
 
CVariantoperator= (const Int8 &v)
 
CVariantoperator= (const Int4 &v)
 
CVariantoperator= (const Int2 &v)
 
CVariantoperator= (const Uint1 &v)
 
CVariantoperator= (const float &v)
 
CVariantoperator= (const double &v)
 
CVariantoperator= (const string &v)
 
CVariantoperator= (const char *v)
 
CVariantoperator= (const TStringUCS2 &v)
 
CVariantoperator= (const bool &v)
 
CVariantoperator= (const CTime &v)
 
CDB_ObjectGetData () const
 
CDB_ObjectGetNonNullData () const
 
size_t GetBlobSize () const
 
size_t Read (void *buf, size_t len) const
 
size_t Append (const void *buf, size_t len)
 
size_t Append (const string &str)
 
size_t Append (const TStringUCS2 &str)
 
void Truncate (size_t len=kMax_UInt)
 
bool MoveTo (size_t pos) const
 
void SetBlobDescriptor (I_BlobDescriptor *descr)
 
I_BlobDescriptorGetBlobDescriptor (void) const
 
I_BlobDescriptorReleaseBlobDescriptor (void) const
 
void SetITDescriptor (I_BlobDescriptor *descr)
 
I_BlobDescriptorGetITDescriptor (void) const
 
I_BlobDescriptorReleaseITDescriptor (void) const
 
EBulkEnc GetBulkInsertionEnc (void) const
 
void SetBulkInsertionEnc (EBulkEnc e)
 
 CVariant (void)
 
 ~CVariant (void)
 
- Public Member Functions inherited from CVariant_Base
 CVariant_Base (void)
 
virtual ~CVariant_Base (void)
 
 DECLARE_INTERNAL_TYPE_INFO ()
 
virtual void Reset (void)
 Reset the whole object. More...
 
virtual void ResetSelection (void)
 Reset the selection (set it to e_not_set). More...
 
E_Choice Which (void) const
 Which variant is currently selected. More...
 
void CheckSelected (E_Choice index) const
 Verify selection, throw exception if it differs from the expected. More...
 
void ThrowInvalidSelection (E_Choice index) const
 Throw 'InvalidSelection' exception. More...
 
void Select (E_Choice index, EResetVariant reset=eDoResetVariant)
 Select the requested variant if needed. More...
 
void Select (E_Choice index, EResetVariant reset, CObjectMemoryPool *pool)
 Select the requested variant if needed, allocating CObject variants from memory pool. More...
 
bool IsSimple (void) const
 Check if variant Simple is selected. More...
 
const TSimpleGetSimple (void) const
 Get the variant data. More...
 
TSimpleSetSimple (void)
 Select the variant. More...
 
void SetSimple (TSimple &value)
 Select the variant and set its data. More...
 
bool IsSpecial (void) const
 Check if variant Special is selected. More...
 
TSpecial GetSpecial (void) const
 Get the variant data. More...
 
TSpecialSetSpecial (void)
 Select the variant. More...
 
void SetSpecial (TSpecial value)
 Select the variant and set its data. More...
 
- Public Member Functions inherited from CSerialObject
 CSerialObject (void)
 
virtual ~CSerialObject (void)
 
virtual const CTypeInfoGetThisTypeInfo (void) const =0
 
virtual void Assign (const CSerialObject &source, ESerialRecursionMode how=eRecursive)
 Set object to copy of another one. More...
 
virtual bool Equals (const CSerialObject &object, ESerialRecursionMode how=eRecursive) const
 Check if both objects contain the same values. More...
 
virtual void DebugDump (CDebugDumpContext ddc, unsigned int depth) const
 Define method for dumping debug information. More...
 
void ThrowUnassigned (TMemberIndex index) const
 
void ThrowUnassigned (TMemberIndex index, const char *file_name, int file_line) const
 
bool HasNamespaceName (void) const
 Check if object data type has namespace name. More...
 
const stringGetNamespaceName (void) const
 Get namespace name. More...
 
bool HasNamespacePrefix (void) const
 Check if data type has namespace prefix. More...
 
const stringGetNamespacePrefix (void) const
 Get namespace prefix. More...
 
- Public Member Functions inherited from CObject
 CObject (void)
 Constructor. More...
 
 CObject (const CObject &src)
 Copy constructor. More...
 
virtual ~CObject (void)
 Destructor. More...
 
CObjectoperator= (const CObject &src) THROWS_NONE
 Assignment operator. More...
 
bool CanBeDeleted (void) const THROWS_NONE
 Check if object can be deleted. More...
 
bool IsAllocatedInPool (void) const THROWS_NONE
 Check if object is allocated in memory pool (not system heap) More...
 
bool Referenced (void) const THROWS_NONE
 Check if object is referenced. More...
 
bool ReferencedOnlyOnce (void) const THROWS_NONE
 Check if object is referenced only once. More...
 
void AddReference (void) const
 Add reference to object. More...
 
void RemoveReference (void) const
 Remove reference to object. More...
 
void ReleaseReference (void) const
 Remove reference without deleting object. More...
 
virtual void DoNotDeleteThisObject (void)
 Mark this object as not allocated in heap – do not delete this object. More...
 
virtual void DoDeleteThisObject (void)
 Mark this object as allocated in heap – object can be deleted. More...
 
void * operator new (size_t size)
 Define new operator for memory allocation. More...
 
void * operator new[] (size_t size)
 Define new[] operator for 'array' memory allocation. More...
 
void operator delete (void *ptr)
 Define delete operator for memory deallocation. More...
 
void operator delete[] (void *ptr)
 Define delete[] operator for memory deallocation. More...
 
void * operator new (size_t size, void *place)
 Define new operator. More...
 
void operator delete (void *ptr, void *place)
 Define delete operator. More...
 
void * operator new (size_t size, CObjectMemoryPool *place)
 Define new operator using memory pool. More...
 
void operator delete (void *ptr, CObjectMemoryPool *place)
 Define delete operator. More...
 
- Public Member Functions inherited from CDebugDumpable
 CDebugDumpable (void)
 
virtual ~CDebugDumpable (void)
 
void DebugDumpText (ostream &out, const string &bundle, unsigned int depth) const
 
void DebugDumpFormat (CDebugDumpFormatter &ddf, const string &bundle, unsigned int depth) const
 
void DumpToConsole (void) const
 

Static Public Member Functions

static CVariant BigInt (Int8 *p)
 
static CVariant BigInt (const CNullable< Int8 > &n)
 
static CVariant Int (Int4 *p)
 
static CVariant Int (const CNullable< Int4 > &n)
 
static CVariant SmallInt (Int2 *p)
 
static CVariant SmallInt (const CNullable< Int2 > &n)
 
static CVariant TinyInt (Uint1 *p)
 
static CVariant TinyInt (const CNullable< Uint1 > &n)
 
static CVariant Float (float *p)
 
static CVariant Float (const CNullable< float > &x)
 
static CVariant Double (double *p)
 
static CVariant Double (const CNullable< double > &x)
 
static CVariant Bit (bool *p)
 
static CVariant Bit (const CNullable< bool > &b)
 
static CVariant LongChar (const char *p, size_t len=0)
 
static CVariant LongChar (const CNullable< const TStringUCS2 & > &s, size_t len=0)
 
static CVariant VarChar (const char *p, size_t len=0)
 
static CVariant VarChar (const CNullable< const TStringUCS2 & > &s, size_t len=0)
 
static CVariant VarCharMax (const char *p, size_t len=0)
 
static CVariant VarCharMax (const CNullable< const TStringUCS2 & > &s, size_t len=0)
 
static CVariant Char (size_t size, const char *p)
 
static CVariant Char (size_t size, const CNullable< const TStringUCS2 & > &s)
 
static CVariant LongBinary (size_t maxSize, const void *p, size_t len)
 
static CVariant VarBinary (const void *p, size_t len)
 
static CVariant VarBinaryMax (const void *p, size_t len)
 
static CVariant Binary (size_t size, const void *p, size_t len)
 
static CVariant SmallDateTime (CTime *p)
 
static CVariant SmallDateTime (const CNullable< const CTime & > &t)
 
static CVariant DateTime (CTime *p)
 
static CVariant DateTime (const CNullable< const CTime & > &t)
 
static CVariant BigDateTime (CTime *p, EDateTimeFormat fmt=eLonger)
 
static CVariant BigDateTime (const CNullable< const CTime & > &t, EDateTimeFormat fmt=eLonger)
 
static CVariant Numeric (unsigned int precision, unsigned int scale, const char *p)
 
- Static Public Member Functions inherited from CVariant_Base
static string SelectionName (E_Choice index)
 Retrieve selection name (for diagnostic purposes). More...
 
- Static Public Member Functions inherited from CSerialObject
static void SetVerifyDataThread (ESerialVerifyData verify)
 
static void SetVerifyDataGlobal (ESerialVerifyData verify)
 
static string UnassignedString (void)
 
static CStringUTF8 UnassignedStringUTF8 (void)
 
static char UnassignedByte (void)
 
- Static Public Member Functions inherited from CObject
static NCBI_XNCBI_EXPORT void ThrowNullPointerException (void)
 Define method to throw null pointer exception. More...
 
static NCBI_XNCBI_EXPORT void ThrowNullPointerException (const type_info &type)
 
static EAllocFillMode GetAllocFillMode (void)
 
static void SetAllocFillMode (EAllocFillMode mode)
 
static void SetAllocFillMode (const string &value)
 Set mode from configuration parameter value. More...
 
- Static Public Member Functions inherited from CDebugDumpable
static void EnableDebugDump (bool on)
 

Protected Member Functions

void SetData (CDB_Object *o)
 
- Protected Member Functions inherited from CObject
virtual void DeleteThis (void)
 Virtual method "deleting" this object. More...
 

Private Types

typedef CVariant_Base Tparent
 

Private Member Functions

void CheckNull () const
 
void x_Verify_AssignType (EDB_Type db_type, const char *cxx_type) const
 
void x_Inapplicable_Method (const char *method) const
 
 CVariant (const CVariant &value)
 
CVariantoperator= (const CVariant &value)
 

Private Attributes

class CDB_Objectm_data
 
unique_ptr< I_BlobDescriptorm_descr
 

Additional Inherited Members

- Public Types inherited from CVariant_Base
enum  E_Choice { e_not_set = 0 , e_Simple , e_Special }
 Choice variants. More...
 
enum  E_ChoiceStopper { e_MaxChoice = 3 }
 Maximum+1 value of the choice variant enumerator. More...
 
typedef CSimpleVariant TSimple
 
typedef int TSpecial
 
- Public Types inherited from CObject
enum  EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern }
 Control filling of newly allocated memory. More...
 
typedef CObjectCounterLocker TLockerType
 Default locker type for CRef. More...
 
typedef atomic< Uint8TCounter
 Counter type is CAtomiCounter. More...
 
typedef Uint8 TCount
 Alias for value type of counter. More...
 
- Static Public Attributes inherited from CSerialObject
static const char * ms_UnassignedStr = "<*unassigned*>"
 
static const char ms_UnassignedByte = char(0xcd)
 
- Static Public Attributes inherited from CObject
static const TCount eCounterBitsCanBeDeleted = 1 << 0
 Define possible object states. More...
 
static const TCount eCounterBitsInPlainHeap = 1 << 1
 Heap signature was found. More...
 
static const TCount eCounterBitsPlaceMask
 Mask for 'in heap' state flags. More...
 
static const int eCounterStep = 1 << 2
 Skip over the "in heap" bits. More...
 
static const TCount eCounterValid = TCount(1) << (sizeof(TCount) * 8 - 2)
 Minimal value for valid objects (reference counter is zero) Must be a single bit value. More...
 
static const TCount eCounterStateMask
 Valid object, and object in heap. More...
 

Detailed Description

CVariant –.

Definition at line 98 of file variant.hpp.


The documentation for this class was generated from the following files:
Modified on Sun Feb 25 03:02:02 2024 by modify_doxy.py rev. 669887