seven bits

bit::RecordBuffer Class Reference
["Data Buffers"]

#include <bit/recordbuffer.h>

Inheritance diagram for bit::RecordBuffer:

bit::Buffer bit::Data

List of all members.


Detailed Description

Combines the concepts of a Record or data layout with actual data.

Author:
Rick L. Vinyard, Jr.

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, FieldBuffersignal_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

Constructor & Destructor Documentation

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 (  ) 


Member Function Documentation

std::string bit::RecordBuffer::xml ( const std::string &  padding = std::string()  ) 

References m_record.

Referenced by xml().

std::string bit::RecordBuffer::xml ( FieldBase::pointer  i,
const std::string &  padding = std::string() 
)

FieldBuffer bit::RecordBuffer::field ( size_t  field_id  )  throw (exception::no_record)

References FieldBuffer, and m_record.

Referenced by operator[]().

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  ) 

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 ()

void bit::RecordBuffer::clear_record (  )  throw ()

References m_record, and m_recordbuffer_storage.

RecordBase::pointer bit::RecordBuffer::record (  ) 

References m_record.

Referenced by set_record().

sigc::signal< void, FieldBuffer > bit::RecordBuffer::signal_field_changed (  ) 

sigc::signal< void > bit::RecordBuffer::signal_record_changed (  ) 

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().


Friends And Related Function Documentation

friend class FieldBuffer [friend]

Referenced by field().


Member Data Documentation

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().


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

Generated on Mon Nov 3 10:50:01 2008 for bit by doxygen 1.5.6