NCBI C++ ToolKit
Public Types | Protected Member Functions | List of all members
CBDB_FieldStringBase Class Reference

Search Toolkit Book for CBDB_FieldStringBase

String field type. More...

#include <db/bdb/bdb_types.hpp>

+ Inheritance diagram for CBDB_FieldStringBase:
+ Collaboration diagram for CBDB_FieldStringBase:

Public Types

enum  EOverflowAction { eThrowOnOverflow , eTruncateOnOverflow , eTruncateOnOverflowLogError }
 
- Public Types inherited from CBDB_Field
enum  ELengthType { eFixedLength , eVariableLength }
 Length based classificator for fields (fixed-variable) More...
 

Protected Member Functions

 CBDB_FieldStringBase ()
 
- Protected Member Functions inherited from CBDB_Field
int CompareWith (const CBDB_Field &field) const
 Field comparison function. More...
 
void CopyFrom (const CBDB_Field &src)
 Copies field value from another field. More...
 
bool IsVariableLength () const
 Return TRUE if it is a variable length variable (like string) More...
 
bool IsBufferAttached () const
 Return TRUE if external buffer has already been attached. More...
 
bool IsSameType (const CBDB_Field &field) const
 RTTI based check if fld is of the same type. More...
 
bool IsByteSwapped () const
 Return TRUE if field belongs to a file with an alternative byte order. More...
 
void SetNullable ()
 Mark field as "NULL" capable. More...
 
void SetNotNull ()
 Set "is NULL" flag to FALSE. More...
 
void SetName (const char *name)
 Set symbolic name for the field. More...
 
void SetBufferIdx (unsigned int idx)
 Set field position in the buffer manager. More...
 
void * Unpack ()
 Unpack the buffer which contains this field (using CBDB_BufferManager). More...
 
void SetBuffer (void *buf, size_t buf_size=0)
 Set external buffer pointer and length. More...
 
void SetBufferSize (size_t size)
 Set the buffer size. More...
 
void SetDataSize (size_t size)
 Set data size, taking into account possible extra data for some fields. More...
 
virtual size_t GetExtraDataLength ()
 Hook for defining extra data length. More...
 
void SetBufferManager (CBDB_BufferManager *owner)
 Set CBDB_BufferManager – which works as a memory manager for BDB fields. More...
 
void CopyFrom (const void *src_buf)
 Copy buffer value from the external source. More...
 

Additional Inherited Members

- Public Member Functions inherited from CBDB_Field
 CBDB_Field (ELengthType length_type=eFixedLength)
 
virtual ~CBDB_Field ()
 
virtual CBDB_FieldConstruct (size_t buf_size=0) const =0
 Virtual constructor - class factory for BDB fields. More...
 
virtual BDB_CompareFunction GetCompareFunction (bool byte_swapped) const
 Return address to the type specific comparison function By default it's universal BDB_Compare. More...
 
bool IsNullable () const
 Return TRUE if field can be NULL. More...
 
void SetNull ()
 Assign field value to NULL. More...
 
bool IsNull () const
 Return TRUE if field is NULL. More...
 
const stringGetName () const
 Return symbolic name for the field. More...
 
const void * GetBuffer () const
 Get pointer to the data. NULL if not yet attached. More...
 
void * GetBuffer ()
 Get pointer to the data. NULL if not yet attached. More...
 
size_t GetBufferSize () const
 Return maximum possible buffer length. More...
 
size_t GetLength () const
 Get length of the actual data. More...
 
- Public Member Functions inherited from IBDB_Field
virtual ~IBDB_Field ()
 
virtual int Compare (const void *p1, const void *p2, bool byte_swapped) const =0
 Comparison function. More...
 
virtual size_t GetDataLength (const void *buf) const =0
 Return current effective size of the buffer. More...
 
virtual void SetMinVal ()=0
 Set minimal possible value for the field type. More...
 
virtual void SetMaxVal ()=0
 Set maximum possible value for the field type. More...
 
- Public Member Functions inherited from IBDB_FieldConvert
virtual ~IBDB_FieldConvert ()
 
virtual void SetInt (int)
 
virtual void SetUint (unsigned)
 
virtual int GetInt () const
 
virtual unsigned GetUint () const
 
virtual void SetString (const char *)
 
virtual void SetStdString (const string &)
 
virtual void SetFloat (float)
 
virtual void SetDouble (double)
 
virtual string GetString () const =0
 
virtual void ToString (string &str) const =0
 
- Protected Attributes inherited from CBDB_Field
CBDB_BufferManagerm_BufferManager
 
struct {
   unsigned   CBDB_Field::VariableLength: 1
 
   unsigned   CBDB_Field::Attached: 1
 
   unsigned   CBDB_Field::Nullable: 1
 
m_Flags
 

Detailed Description

String field type.

Definition at line 1571 of file bdb_types.hpp.


The documentation for this class was generated from the following file:
Modified on Thu Apr 25 08:19:21 2024 by modify_doxy.py rev. 669887