seven bits

bit::RecordVector Class Reference
["Record Definitions"]

#include <bit/recordvector.h>

Inheritance diagram for bit::RecordVector:

bit::RecordBase bit::FieldBase

List of all members.


Detailed Description

Implements a vector of records, synchronizing all fields within each record.

Todo:
Enforce synchronization among Fields; probably means that signals are needed
Author:
Rick L. Vinyard, Jr. <rvinyard@cs.nmsu.edu>

Public Types

typedef BitPointer< RecordVectorpointer
 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

Member Typedef Documentation

Convenience typedef to a smart pointer to bit::Record.

Reimplemented from bit::RecordBase.

typedef std::vector<Element::pointer> bit::RecordVector::Elements [protected]


Constructor & Destructor Documentation

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 = "" 
)

Default constructor.

References set_size().

Referenced by create().

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 = "" 
)

Default constructor.

References m_record_layout, and set_size().

bit::RecordVector::~RecordVector (  ) 

Destructor.


Member Function Documentation

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]

Static method returns a smart pointer to a new Record object.

References RecordVector().

size_t bit::RecordVector::length (  )  const [virtual]

Returns:
the length of this object in it's length units

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]

Reimplemented from bit::FieldBase.

References bit::FieldBase::length().

size_t bit::RecordVector::size (  )  const

References m_size.

void bit::RecordVector::set_size ( size_t  size  ) 

const std::string & bit::RecordVector::xml (  )  [virtual]

FieldBase::iterator bit::RecordVector::begin (  )  [virtual]

Reimplemented from bit::FieldBase.

References end(), and m_elements.

FieldBase::iterator bit::RecordVector::end (  )  [virtual]

Reimplemented from bit::FieldBase.

Referenced by begin().

size_t bit::RecordVector::subfields (  )  [virtual]

Reimplemented from bit::FieldBase.

References m_size.

FieldBase::pointer bit::RecordVector::subfield ( const std::string &  s  )  [virtual]

Reimplemented from bit::FieldBase.

References m_elements.

FieldBase::pointer bit::RecordVector::subfield ( size_t  i  )  [virtual]

Reimplemented from bit::FieldBase.

References m_elements.

void bit::RecordVector::add_field ( FieldBase::pointer  child  )  [virtual]

void bit::RecordVector::remove_field ( const std::string &  name  )  [virtual]

FieldBase::pointer bit::RecordVector::clone (  )  [virtual]

virtual Container bit::RecordVector::container_type (  )  [inline, virtual]

Implements bit::FieldBase.

References bit::RECORD_VECTOR.

FieldBase::pointer bit::RecordVector::previous_child ( FieldBase::pointer  current_child  )  throw (exception::invalid_container_op) [protected, virtual]

FieldBase::pointer bit::RecordVector::next_child ( FieldBase::pointer  current_child  )  throw (exception::invalid_container_op) [protected, virtual]


Member Data Documentation

size_t bit::RecordVector::m_size [protected]


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