#include <bit/recordvector.h>
Public Types | |
typedef BitPointer< RecordVector > | pointer |
Convenience typedef to a smart pointer to bit::Record. | |
Public Member Functions | |
RecordVector (std::string name="", size_t size=0, size_t length_units=BITS, int offset=0, size_t offset_units=BITS, std::string descr="") | |
Default constructor. | |
RecordVector (const RecordStorage &layout, std::string name="", size_t size=0, size_t length_units=BITS, int offset=0, size_t offset_units=BITS, std::string descr="") | |
Default constructor. | |
~RecordVector () | |
Destructor. | |
virtual size_t | length () const |
virtual size_t | length (size_t units) const |
size_t | size () const |
void | set_size (size_t size) |
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 child) |
virtual void | remove_field (const std::string &name) |
virtual FieldBase::pointer | clone () |
virtual Container | container_type () |
Static Public Member Functions | |
static RecordVector::pointer | create (std::string name="", size_t size=0, 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. | |
static RecordVector::pointer | create (const RecordStorage &layout, std::string name="", size_t size=0, 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 Types | |
typedef std::vector < Element::pointer > | Elements |
Protected Member Functions | |
virtual FieldBase::pointer | previous_child (FieldBase::pointer current_child) throw (exception::invalid_container_op) |
virtual FieldBase::pointer | next_child (FieldBase::pointer current_child) throw (exception::invalid_container_op) |
Protected Attributes | |
RecordStorage | m_record_layout |
size_t | m_size |
Elements | m_elements |
Classes | |
class | Element |
typedef BitPointer<RecordVector> bit::RecordVector::pointer |
typedef std::vector<Element::pointer> bit::RecordVector::Elements [protected] |
bit::RecordVector::RecordVector | ( | std::string | name = "" , |
|
size_t | size = 0 , |
|||
size_t | length_units = BITS , |
|||
int | offset = 0 , |
|||
size_t | offset_units = BITS , |
|||
std::string | descr = "" | |||
) |
bit::RecordVector::RecordVector | ( | const RecordStorage & | layout, | |
std::string | name = "" , |
|||
size_t | size = 0 , |
|||
size_t | length_units = BITS , |
|||
int | offset = 0 , |
|||
size_t | offset_units = BITS , |
|||
std::string | descr = "" | |||
) |
bit::RecordVector::~RecordVector | ( | ) |
Destructor.
RecordVector::pointer bit::RecordVector::create | ( | std::string | name = "" , |
|
size_t | size = 0 , |
|||
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 RecordVector().
Referenced by clone(), and bit::xml_read_record().
RecordVector::pointer bit::RecordVector::create | ( | const RecordStorage & | layout, | |
std::string | name = "" , |
|||
size_t | size = 0 , |
|||
size_t | length_units = BITS , |
|||
int | offset = 0 , |
|||
size_t | offset_units = BITS , |
|||
std::string | descr = "" | |||
) | [static] |
size_t bit::RecordVector::length | ( | ) | const [virtual] |
Implements bit::FieldBase.
References bit::BITS, bit::RecordStorage::field_set, bit::RecordBase::m_length_units, m_record_layout, m_size, and WHOLE_UNITS.
size_t bit::RecordVector::length | ( | size_t | units | ) | const [virtual] |
size_t bit::RecordVector::size | ( | ) | const |
References m_size.
void bit::RecordVector::set_size | ( | size_t | size | ) |
References bit::RecordVector::Element::create(), m_elements, m_record_layout, and m_size.
Referenced by RecordVector().
const std::string & bit::RecordVector::xml | ( | ) | [virtual] |
Implements bit::FieldBase.
References bit::RecordBase::m_length_units, bit::RecordBase::m_name, bit::RecordBase::m_offset, bit::RecordBase::m_offset_units, m_record_layout, m_size, bit::FieldBase::m_xml, bit::RecordStorage::subfield(), bit::RecordStorage::subfields(), bit::RecordBase::type(), bit::TYPE_NONE, and bit::FieldType::xml().
FieldBase::iterator bit::RecordVector::begin | ( | ) | [virtual] |
FieldBase::iterator bit::RecordVector::end | ( | ) | [virtual] |
size_t bit::RecordVector::subfields | ( | ) | [virtual] |
FieldBase::pointer bit::RecordVector::subfield | ( | const std::string & | s | ) | [virtual] |
FieldBase::pointer bit::RecordVector::subfield | ( | size_t | i | ) | [virtual] |
void bit::RecordVector::add_field | ( | FieldBase::pointer | child | ) | [virtual] |
Implements bit::RecordBase.
References bit::RecordStorage::add_field(), clone(), m_elements, m_record_layout, m_size, bit::RecordBase::m_type, and bit::TYPE_NONE.
void bit::RecordVector::remove_field | ( | const std::string & | name | ) | [virtual] |
Implements bit::RecordBase.
References m_elements, m_record_layout, and bit::RecordStorage::remove_field().
FieldBase::pointer bit::RecordVector::clone | ( | ) | [virtual] |
Implements bit::FieldBase.
References create(), bit::RecordBase::m_description, bit::RecordBase::m_length_units, bit::RecordBase::m_name, bit::RecordBase::m_offset, bit::RecordBase::m_offset_units, m_record_layout, m_size, and bit::RecordBase::m_type.
Referenced by add_field().
virtual Container bit::RecordVector::container_type | ( | ) | [inline, virtual] |
FieldBase::pointer bit::RecordVector::previous_child | ( | FieldBase::pointer | current_child | ) | throw (exception::invalid_container_op) [protected, virtual] |
References bit_dynamic_pointer_cast, and m_elements.
FieldBase::pointer bit::RecordVector::next_child | ( | FieldBase::pointer | current_child | ) | throw (exception::invalid_container_op) [protected, virtual] |
References bit_dynamic_pointer_cast, and m_elements.
RecordStorage bit::RecordVector::m_record_layout [protected] |
Referenced by add_field(), clone(), length(), RecordVector(), remove_field(), set_size(), and xml().
size_t bit::RecordVector::m_size [protected] |
Referenced by add_field(), clone(), length(), set_size(), size(), subfields(), and xml().
Elements bit::RecordVector::m_elements [protected] |
Referenced by add_field(), begin(), next_child(), previous_child(), remove_field(), set_size(), and subfield().