#include <bit/recordstorage.h>
Public Types | |
typedef std::set < FieldBase::pointer, fieldbase_pointer_compare > | Fields |
Typedef to container used to store children. | |
typedef std::map< std::string, Fields::iterator > | FieldNameMap |
Typedef to container used to store mapping from string names to a specific child. | |
Public Member Functions | |
RecordStorage (FieldBase &record) | |
virtual | ~RecordStorage () |
virtual FieldBase::iterator | begin () |
virtual FieldBase::iterator | end () |
RecordStorage & | operator= (const RecordStorage &other) |
Performs a deep copy and clone of fields. | |
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 | 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) |
Public Attributes | |
Fields | field_set |
FieldNameMap | field_name_map |
Protected Attributes | |
FieldBase * | m_record |
Classes | |
struct | fieldbase_pointer_compare |
typedef std::set<FieldBase::pointer, fieldbase_pointer_compare> bit::RecordStorage::Fields |
Typedef to container used to store children.
typedef std::map<std::string, Fields::iterator> bit::RecordStorage::FieldNameMap |
Typedef to container used to store mapping from string names to a specific child.
bit::RecordStorage::RecordStorage | ( | FieldBase & | record | ) |
bit::RecordStorage::~RecordStorage | ( | ) | [virtual] |
FieldBase::iterator bit::RecordStorage::begin | ( | ) | [virtual] |
References field_set, and m_record.
Referenced by bit::RecordVector::Element::begin(), bit::Record::begin(), and bit::Record::xml().
FieldBase::iterator bit::RecordStorage::end | ( | ) | [virtual] |
References m_record.
Referenced by bit::RecordVector::Element::end(), bit::Record::end(), and bit::Record::xml().
RecordStorage & bit::RecordStorage::operator= | ( | const RecordStorage & | other | ) |
size_t bit::RecordStorage::subfields | ( | ) | [virtual] |
References field_set.
Referenced by bit::RecordVector::Element::subfields(), bit::Record::subfields(), and bit::RecordVector::xml().
FieldBase::pointer bit::RecordStorage::subfield | ( | const std::string & | s | ) | [virtual] |
References field_name_map.
Referenced by bit::RecordVector::Element::subfield(), bit::Record::subfield(), and bit::RecordVector::xml().
FieldBase::pointer bit::RecordStorage::subfield | ( | size_t | i | ) | [virtual] |
References field_set.
void bit::RecordStorage::add_field | ( | FieldBase::pointer | field | ) | [virtual] |
References field_name_map, field_set, and m_record.
Referenced by bit::RecordVector::add_field(), bit::Record::add_field(), and operator=().
void bit::RecordStorage::remove_field | ( | FieldBase::pointer | field | ) | [virtual] |
References field_name_map, and field_set.
Referenced by bit::RecordVector::remove_field(), and bit::Record::remove_field().
void bit::RecordStorage::remove_field | ( | const std::string & | name | ) | [virtual] |
References field_name_map, and field_set.
FieldBase::pointer bit::RecordStorage::previous_field | ( | FieldBase::pointer | current_field | ) | throw (exception::invalid_container_op) [virtual] |
References field_set.
Referenced by bit::RecordVector::Element::previous_field(), and bit::Record::previous_field().
FieldBase::pointer bit::RecordStorage::next_field | ( | FieldBase::pointer | current_field | ) | throw (exception::invalid_container_op) [virtual] |
References field_set.
Referenced by bit::RecordVector::Element::next_field(), and bit::Record::next_field().
Referenced by add_field(), operator=(), remove_field(), and subfield().
FieldBase* bit::RecordStorage::m_record [protected] |
Referenced by add_field(), begin(), and end().