# DataBlock Class Reference

A class that holds just a block of raw data. More...

`#include <yateclass.h>`

Inheritance diagram for DataBlock:

List of all members.

## Public Member Functions

| DataBlock ()
| DataBlock (const DataBlock &value)
| DataBlock (void *value, unsigned int len, bool copyData=true)
virtual | ~DataBlock ()
virtual void * | getObject (const String &name) const
void * | data () const
bool | null () const
unsigned int | length () const
void | clear (bool deleteData=true)
DataBlock & | assign (void *value, unsigned int len, bool copyData=true)
void | append (const DataBlock &value)
void | append (const String &value)
void | insert (const DataBlock &value)
void | truncate (unsigned int len)
void | cut (int len)
DataBlock & | operator= (const DataBlock &value)
DataBlock & | operator+= (const DataBlock &value)
DataBlock & | operator+= (const String &value)
bool | convert (const DataBlock &src, const String &sFormat, const String &dFormat, unsigned maxlen=0)

## Static Public Member Functions

static const DataBlock & | empty ()

## Detailed Description

A class that holds just a block of raw data.

The DataBlock holds a data buffer with no specific formatting.

## Constructor & Destructor Documentation

DataBlock | ( |  | ) |

Constructs an empty data block

DataBlock | ( | const DataBlock & | value | ) |

Copy constructor

DataBlock | ( | void * | value,
|  | unsigned int | len,
|  | bool | copyData = `true` |
| ) |  |  |

Constructs an initialized data block

Parameters:

  | value | Data to assign, may be NULL to fill with zeros
  | len | Length of data, may be zero (then value is ignored)
  | copyData | True to make a copy of the data, false to just insert the pointer

virtual ~DataBlock | ( |  | ) | `[virtual]`

Destroys the data, disposes the memory.

## Member Function Documentation

virtual void* getObject | ( | const String & | name | ) | const`[virtual]`

Get a pointer to a derived class given that class name

Parameters:

  | name | Name of the class we are asking for

Returns:
  Pointer to the requested class or NULL if this object doesn't implement it

Reimplemented from GenObject.

static const DataBlock& empty | ( |  | ) | `[static]`

A static empty data block

void* data | ( |  | ) | const`[inline]`

Get a pointer to the stored data.

Returns:
  A pointer to the data or NULL.

bool null | ( |  | ) | const`[inline]`

Checks if the block holds a NULL pointer.

Returns:
  True if the block holds NULL, false otherwise.

unsigned int length | ( |  | ) | const`[inline]`

Get the length of the stored data.

Returns:
  The length of the stored data, zero for NULL.

void clear | ( | bool | deleteData = `true` | ) |

Clear the data and optionally free the memory

Parameters:

  | deleteData | True to free the deta block, false to just forget it

DataBlock& assign | ( | void * | value,
|  | unsigned int | len,
|  | bool | copyData = `true` |
| ) |  |  |

Assign data to the object

Parameters:

  | value | Data to assign, may be NULL to fill with zeros
  | len | Length of data, may be zero (then value is ignored)
  | copyData | True to make a copy of the data, false to just insert the pointer

void append | ( | const DataBlock & | value | ) |

Append data to the current block

Parameters:

  | value | Data to append

void append | ( | const String & | value | ) |

Append a String to the current block

Parameters:

  | value | String to append

void insert | ( | const DataBlock & | value | ) |

Insert data before the current block

Parameters:

  | value | Data to insert

void truncate | ( | unsigned int | len | ) |

Truncate the data block

Parameters:

  | len | The maximum length to keep

void cut | ( | int | len | ) |

Cut off a number of bytes from the data block

Parameters:

  | len | Amount to cut, positive to cut from end, negative to cut from start of block

DataBlock& operator= | ( | const DataBlock & | value | ) |

Assignment operator.

DataBlock& operator+= | ( | const DataBlock & | value | ) | `[inline]`

Appending operator.

DataBlock& operator+= | ( | const String & | value | ) | `[inline]`

Appending operator for Strings.

bool convert | ( | const DataBlock & | src,
|  | const String & | sFormat,
|  | const String & | dFormat,
|  | unsigned | maxlen = `0` |
| ) |  |  |

Convert data from a different format

Parameters:

  | src | Source data block
  | sFormat | Name of the source format
  | dFormat | Name of the destination format
  | maxlen | Maximum amount to convert, 0 to use source

Returns:
  True if converted successfully, false on failure

The documentation for this class was generated from the following file:

- yateclass.h