|
|
| CStrA () |
| | Create an empty CStrT.
|
| |
|
| CStrA (const CStrA &src) |
| | Copy constructor.
|
| |
|
| CStrA (const OnTransfer &ot) |
| | Take over ownership constructor.
|
| |
|
char * | GrowSizeNC (uint count) |
| | Grow the actual buffer and fix the trailing zero at the end.
|
| |
|
void | AppendStr (const char *str) |
| | Append zero-ended C string.
|
| |
|
void | Append (const CStrA &src) |
| | Append another CStrA.
|
| |
|
CStrA & | operator= (const char *src) |
| | Assignment from C string.
|
| |
|
CStrA & | operator= (const CStrA &src) |
| | Assignment from another CStrA.
|
| |
|
bool | operator< (const CStrA &other) const |
| | Lower-than operator (to support stl collections)
|
| |
|
int | AddFormatL (const char *format, va_list args) WARN_FORMAT(2 |
| | Add formatted string (like vsprintf) at the end of existing contents.
|
| |
|
| for (;;) |
| |
|
| if (ret > 0) |
| |
|
int CDECL | WARN_FORMAT (2, 3) AddFormat(const char *format |
| | Add formatted string (like sprintf) at the end of existing contents.
|
| |
|
int CDECL | va_start (args, format) |
| |
|
| va_end (args) |
| |
|
int CDECL | WARN_FORMAT (2, 3) Format(const char *format |
| | Assign formatted string (like sprintf).
|
| |
|
| va_start (args, format) |
| |
|
| va_end (args) |
| |
|
| CBlobT () |
| | Default constructor - makes new Blob ready to accept any data.
|
| |
|
| CBlobT (const OnTransfer &ot) |
| | Take ownership constructor.
|
| |
|
| ~CBlobT () |
| | Destructor - ensures that allocated memory (if any) is freed.
|
| |
|
void | CheckIdx (size_t index) const |
| | Check the validity of item index (only in debug mode)
|
| |
|
char * | Data () |
| | Return pointer to the first data item - non-const version.
|
| |
|
const char * | Data () const |
| | Return pointer to the first data item - const version.
|
| |
|
char * | Data (size_t index) |
| | Return pointer to the index-th data item - non-const version.
|
| |
|
const char * | Data (size_t index) const |
| | Return pointer to the index-th data item - const version.
|
| |
|
size_t | Size () const |
| | Return number of items in the Blob.
|
| |
|
size_t | MaxSize () const |
| | Return total number of items that can fit in the Blob without buffer reallocation.
|
| |
|
size_t | GetReserve () const |
| | Return number of additional items that can fit in the Blob without buffer reallocation.
|
| |
|
char * | GrowSizeNC (size_t num_items) |
| | Grow number of data items in Blob by given number - doesn't construct items.
|
| |
| char * | MakeFreeSpace (size_t num_items) |
| | Ensures that given number of items can be added to the end of Blob. More...
|
| |
|
OnTransfer | Transfer () |
| |
|
| ByteBlob () |
| | default constructor - initializes empty blob
|
| |
|
| ByteBlob (const ByteBlob &src) |
| | copy constructor
|
| |
|
| ByteBlob (BlobHeader *const &src) |
| | move constructor - take ownership of blob data
|
| |
|
| ~ByteBlob () |
| | destructor
|
| |
|
bool | IsEmpty () const |
| | return true if blob doesn't contain valid data
|
| |
|
size_t | Length () const |
| | return the number of valid data bytes in the blob
|
| |
|
size_t | Capacity () const |
| | return the current blob capacity in bytes
|
| |
|
byte * | Begin () |
| | return pointer to the first byte of data - non-const version
|
| |
|
const byte * | Begin () const |
| | return pointer to the first byte of data - const version
|
| |
|
void | Clear () |
| | invalidate blob's data - doesn't free buffer
|
| |
|
void | Free () |
| | free the blob's memory
|
| |
|
void | AppendRaw (const void *p, size_t num_bytes) |
| | append new bytes at the end of existing data bytes - reallocates if necessary
|
| |
|
void | AppendRaw (const ByteBlob &src) |
| | append bytes from given source blob to the end of existing data bytes - reallocates if necessary
|
| |
| byte * | Prepare (size_t num_bytes) |
| | Reallocate if there is no free space for num_bytes bytes. More...
|
| |
| byte * | Append (size_t num_bytes) |
| | Increase Length() by num_bytes. More...
|
| |
|
void | SmartAlloc (size_t new_size) |
| | reallocate blob data if needed
|
| |
|
void | FixTail () const |
| | fixing the four bytes at the end of blob data - useful when blob is used to hold string
|
| |
|
|
static const size_t | type_size |
| |
|
static const size_t | tail_reserve = 4 |
| | four extra bytes will be always allocated and zeroed at the end
|
| |
|
static const size_t | header_size = sizeof(BlobHeader) |
| |
|
void | InitEmpty () |
| | initialize the empty blob
|
| |
|
void | Init (BlobHeader *src) |
| | initialize blob by attaching it to the given header followed by data
|
| |
|
BlobHeader & | Hdr () |
| | blob header accessor - use it rather than using the pointer arithmetic directly - non-const version
|
| |
|
const BlobHeader & | Hdr () const |
| | blob header accessor - use it rather than using the pointer arithmetic directly - const version
|
| |
|
size_t & | LengthRef () |
| | return reference to the actual blob size - used when the size needs to be modified
|
| |
|
static BlobHeader * | RawAlloc (size_t num_bytes) |
| | all allocation should happen here
|
| |
|
static BlobHeader * | Zero () |
| | Return header pointer to the static BlobHeader with both items and capacity containing zero.
|
| |
|
static size_t | AllocPolicy (size_t min_alloc) |
| | simple allocation policy - can be optimized later
|
| |
|
static void | RawFree (BlobHeader *p) |
| | all deallocations should happen here
|
| |
|
union { |
|
byte * data |
| | ptr to the first byte of data
|
| |
|
BlobHeader * header |
| | ptr just after the BlobHeader holding items and capacity
|
| |
| }; | |
| | type used as class member
|
| |
Blob based case sensitive ANSI/UTF-8 string.
Definition at line 20 of file str.hpp.