#include <bit/recordbuffer.h>
Public Member Functions | |
RecordBuffer (size_t initial_size=0, size_t sizemax=0) throw (std::bad_alloc) | |
Construct a buffer of a given size that is allowed to dynamically grown as pack/unpack requests are made. | |
RecordBuffer (RecordBase::pointer record, size_t initial_size=0, size_t sizemax=0) throw (std::bad_alloc) | |
Construct a buffer of a given size that is allowed to dynamically grown as pack/unpack requests are made. | |
RecordBuffer (void *data, size_t size, size_t sizemax=0, DataMode mode=COPY) throw (std::bad_alloc) | |
Constructor initializes buffer with a copy of specific data. | |
RecordBuffer (RecordBase::pointer record, void *data, size_t size, size_t sizemax=0, DataMode mode=COPY) throw (std::bad_alloc) | |
Constructor initializes buffer with a copy of specific data. | |
RecordBuffer (const Data &other) | |
Constructor initializes buffer to use the specified underlying data chunk. | |
RecordBuffer (RecordBase::pointer record, const Data &other) | |
Constructor initializes buffer to use the specified underlying data chunk. | |
RecordBuffer (const RecordBuffer &other) | |
Copy constructor. | |
~RecordBuffer () | |
std::string | xml (const std::string &padding=std::string()) |
std::string | xml (FieldBase::pointer i, const std::string &padding=std::string()) |
FieldBuffer | field (size_t) throw (exception::no_record) |
FieldBuffer | field (const std::string &) throw (exception::no_record) |
FieldBuffer | field (FieldBase::iterator) |
FieldBuffer | field (FieldBase::pointer) |
FieldBuffer | operator[] (size_t) throw (exception::no_record) |
FieldBuffer | operator[] (const std::string &) throw (exception::no_record) |
FieldBuffer | operator[] (const char *) throw (exception::no_record) |
FieldBuffer | operator[] (FieldBase::iterator) |
FieldBuffer | operator[] (FieldBase::pointer) |
void | set_record (RecordBase::pointer record) throw () |
void | clear_record () throw () |
RecordBase::pointer | record () |
sigc::signal< void, FieldBuffer > | signal_field_changed () |
sigc::signal< void > | signal_record_changed () |
Protected Member Functions | |
void | on_field_changed (FieldBase::pointer field) |
Causes the internal signal to be emitted notifying connected slots that the data at field i has been changed. | |
Protected Attributes | |
RecordBase::pointer | m_record |
A pointer to the record associated with this buffer, or NULL if there is no record currently associated. | |
RecordBufferStorage::pointer | m_recordbuffer_storage |
Friends | |
class | FieldBuffer |
Classes | |
struct | RecordBufferStorage |
bit::RecordBuffer::RecordBuffer | ( | size_t | initial_size = 0 , |
|
size_t | sizemax = 0 | |||
) | throw (std::bad_alloc) |
Construct a buffer of a given size that is allowed to dynamically grown as pack/unpack requests are made.
bit::RecordBuffer::RecordBuffer | ( | RecordBase::pointer | record, | |
size_t | initial_size = 0 , |
|||
size_t | sizemax = 0 | |||
) | throw (std::bad_alloc) |
Construct a buffer of a given size that is allowed to dynamically grown as pack/unpack requests are made.
bit::RecordBuffer::RecordBuffer | ( | void * | data, | |
size_t | size, | |||
size_t | sizemax = 0 , |
|||
DataMode | mode = COPY | |||
) | throw (std::bad_alloc) |
Constructor initializes buffer with a copy of specific data.
bit::RecordBuffer::RecordBuffer | ( | RecordBase::pointer | record, | |
void * | data, | |||
size_t | size, | |||
size_t | sizemax = 0 , |
|||
DataMode | mode = COPY | |||
) | throw (std::bad_alloc) |
Constructor initializes buffer with a copy of specific data.
bit::RecordBuffer::RecordBuffer | ( | const Data & | other | ) |
Constructor initializes buffer to use the specified underlying data chunk.
References m_recordbuffer_storage.
bit::RecordBuffer::RecordBuffer | ( | RecordBase::pointer | record, | |
const Data & | other | |||
) |
Constructor initializes buffer to use the specified underlying data chunk.
References m_recordbuffer_storage.
bit::RecordBuffer::RecordBuffer | ( | const RecordBuffer & | other | ) |
Copy constructor.
bit::RecordBuffer::~RecordBuffer | ( | ) |
std::string bit::RecordBuffer::xml | ( | const std::string & | padding = std::string() |
) |
std::string bit::RecordBuffer::xml | ( | FieldBase::pointer | i, | |
const std::string & | padding = std::string() | |||
) |
References bit::FIELD, bit::FIELD_ELEMENT, bit::RECORD, bit::RECORD_ELEMENT, bit::RECORD_VECTOR, and xml().
FieldBuffer bit::RecordBuffer::field | ( | size_t | field_id | ) | throw (exception::no_record) |
FieldBuffer bit::RecordBuffer::field | ( | const std::string & | field_id | ) | throw (exception::no_record) |
References FieldBuffer, and m_record.
FieldBuffer bit::RecordBuffer::field | ( | FieldBase::iterator | iter | ) |
References FieldBuffer, and bit::FieldBase::iterator::pointer().
FieldBuffer bit::RecordBuffer::field | ( | FieldBase::pointer | pointer | ) |
References FieldBuffer.
FieldBuffer bit::RecordBuffer::operator[] | ( | size_t | field_id | ) | throw (exception::no_record) |
References field().
FieldBuffer bit::RecordBuffer::operator[] | ( | const std::string & | field_id | ) | throw (exception::no_record) |
References field().
FieldBuffer bit::RecordBuffer::operator[] | ( | const char * | field_id | ) | throw (exception::no_record) |
References field().
FieldBuffer bit::RecordBuffer::operator[] | ( | FieldBase::iterator | iter | ) |
References field().
FieldBuffer bit::RecordBuffer::operator[] | ( | FieldBase::pointer | pointer | ) |
References field().
void bit::RecordBuffer::set_record | ( | RecordBase::pointer | record | ) | throw () |
References m_record, m_recordbuffer_storage, and record().
void bit::RecordBuffer::clear_record | ( | ) | throw () |
References m_record, and m_recordbuffer_storage.
RecordBase::pointer bit::RecordBuffer::record | ( | ) |
sigc::signal< void, FieldBuffer > bit::RecordBuffer::signal_field_changed | ( | ) |
References m_recordbuffer_storage.
sigc::signal< void > bit::RecordBuffer::signal_record_changed | ( | ) |
References m_recordbuffer_storage.
void bit::RecordBuffer::on_field_changed | ( | FieldBase::pointer | field | ) | [protected] |
Causes the internal signal to be emitted notifying connected slots that the data at field i has been changed.
This method provides proper calling of the emit signal even when a callback triggers a change. This would result in a recursive signal which sigc++ doesn't allow.
References m_recordbuffer_storage.
Referenced by bit::FieldBuffer::pack(), and bit::FieldBuffer::pack_uint64().
friend class FieldBuffer [friend] |
Referenced by field().
RecordBase::pointer bit::RecordBuffer::m_record [protected] |
A pointer to the record associated with this buffer, or NULL if there is no record currently associated.
Referenced by clear_record(), field(), record(), set_record(), and xml().
Referenced by clear_record(), on_field_changed(), RecordBuffer(), set_record(), signal_field_changed(), and signal_record_changed().