
#include <bit/record.h>

FOLDOC defines record as: "An ordered set of fields, usually stored contiguously. ... Some programming languages use the term to mean a type composed of fields of several other types (C calls this a "struct")."
In the context of the bit library, a record stores an ordered set of bit::Field types.
The Record class extends the RecordBase by providing storage for Field objects as well as providing the concept of a name and description strings.
Public Types | |
| typedef BitPointer< Record > | pointer |
| Convenience typedef to a smart pointer to bit::Record. | |
Public Member Functions | |
| Record (std::string name="", size_t length_units=BITS, int offset=0, size_t offset_units=BITS, std::string descr="") | |
| Default constructor. | |
| virtual | ~Record () |
| Destructor. | |
| virtual size_t | length () const |
| virtual size_t | length (size_t units) const |
| virtual const std::string & | xml () |
| virtual iterator | begin () |
| virtual iterator | end () |
| virtual size_t | subfields () |
| virtual FieldBase::pointer | subfield (const std::string &s) |
| virtual FieldBase::pointer | subfield (size_t i) |
| virtual void | add_field (FieldBase::pointer field) |
| virtual void | remove_field (FieldBase::pointer field) |
| virtual void | remove_field (const std::string &name) |
| virtual FieldBase::pointer | clone () |
| virtual Container | container_type () |
Static Public Member Functions | |
| static Record::pointer | create (std::string name="", size_t length_units=BITS, int offset=0, size_t offset_units=BITS, std::string descr="") |
| Static method returns a smart pointer to a new Record object. | |
Protected Member Functions | |
| virtual FieldBase::pointer | previous_field (FieldBase::pointer current_field) throw (exception::invalid_container_op) |
| virtual FieldBase::pointer | next_field (FieldBase::pointer current_field) throw (exception::invalid_container_op) |
Protected Attributes | |
| RecordStorage | m_subfields |
| typedef BitPointer<Record> bit::Record::pointer |
| bit::Record::Record | ( | std::string | name = "", |
|
| size_t | length_units = BITS, |
|||
| int | offset = 0, |
|||
| size_t | offset_units = BITS, |
|||
| std::string | descr = "" | |||
| ) |
| bit::Record::~Record | ( | ) | [virtual] |
Destructor.
| Record::pointer bit::Record::create | ( | std::string | name = "", |
|
| size_t | length_units = BITS, |
|||
| int | offset = 0, |
|||
| size_t | offset_units = BITS, |
|||
| std::string | descr = "" | |||
| ) | [static] |
Static method returns a smart pointer to a new Record object.
References Record().
Referenced by clone(), and bit::xml_read_record().
| size_t bit::Record::length | ( | ) | const [virtual] |
Implements bit::FieldBase.
References bit::BITS, bit::RecordStorage::field_set, bit::RecordBase::m_length_units, m_subfields, and WHOLE_UNITS.
| size_t bit::Record::length | ( | size_t | units | ) | const [virtual] |
| const std::string & bit::Record::xml | ( | ) | [virtual] |
Implements bit::FieldBase.
References bit::RecordStorage::begin(), bit::RecordStorage::end(), bit::RecordBase::m_length_units, bit::RecordBase::m_name, bit::RecordBase::m_offset, bit::RecordBase::m_offset_units, m_subfields, bit::RecordBase::m_type, bit::FieldBase::m_xml, bit::FieldType::type(), bit::TYPE_NONE, and bit::FieldType::xml().
| FieldBase::iterator bit::Record::begin | ( | ) | [virtual] |
| FieldBase::iterator bit::Record::end | ( | ) | [virtual] |
| size_t bit::Record::subfields | ( | ) | [virtual] |
| FieldBase::pointer bit::Record::subfield | ( | const std::string & | s | ) | [virtual] |
| FieldBase::pointer bit::Record::subfield | ( | size_t | i | ) | [virtual] |
| void bit::Record::add_field | ( | FieldBase::pointer | field | ) | [virtual] |
| void bit::Record::remove_field | ( | FieldBase::pointer | field | ) | [virtual] |
References m_subfields, and bit::RecordStorage::remove_field().
| void bit::Record::remove_field | ( | const std::string & | name | ) | [virtual] |
| FieldBase::pointer bit::Record::clone | ( | ) | [virtual] |
| virtual Container bit::Record::container_type | ( | ) | [inline, virtual] |
| FieldBase::pointer bit::Record::previous_field | ( | FieldBase::pointer | current_field | ) | throw (exception::invalid_container_op) [protected, virtual] |
Reimplemented from bit::FieldBase.
References m_subfields, and bit::RecordStorage::previous_field().
| FieldBase::pointer bit::Record::next_field | ( | FieldBase::pointer | current_field | ) | throw (exception::invalid_container_op) [protected, virtual] |
RecordStorage bit::Record::m_subfields [protected] |
Referenced by add_field(), begin(), end(), length(), next_field(), previous_field(), remove_field(), subfield(), subfields(), and xml().
1.5.6