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

#include <bit/fieldvector.h>

Inheritance diagram for bit::FieldVector:

Inheritance graph
[legend]
List of all members.

Detailed Description

A Field identifies a starting point and a length.

This class extends FieldBase by including a name and a description.

Author:
Rick L. Vinyard, Jr.


Public Types

typedef BitPointer< FieldVectorpointer
typedef BitPointer< FieldVectorpointer
typedef BitPointer< FieldVectorpointer

Public Member Functions

 FieldVector (std::string name="", size_t size=0, size_t element_length=0, size_t element_length_units=BITS, int offset=0, size_t offset_units=BITS, std::string descr="")
 Contains a vector of fields.
virtual const std::string & xml ()
size_t length () const
size_t length (size_t units) const
size_t element_length () const
size_t size () const
void set_size (size_t size)
virtual iterator begin ()
virtual iterator end ()
virtual FieldBase::pointer field (size_t i)
virtual FieldBase::pointer clone ()
virtual Container container_type ()
 FieldVector (std::string name="", size_t size=0, size_t element_length=0, size_t element_length_units=BITS, int offset=0, size_t offset_units=BITS, std::string descr="")
 Contains a vector of fields.
virtual const std::string & xml ()
size_t length () const
size_t length (size_t units) const
size_t element_length () const
size_t size () const
void set_size (size_t size)
virtual iterator begin ()
virtual iterator end ()
virtual FieldBase::pointer field (size_t i)
virtual FieldBase::pointer clone ()
virtual Container container_type ()
 FieldVector (std::string name="", size_t size=0, size_t element_length=0, size_t element_length_units=BITS, int offset=0, size_t offset_units=BITS, std::string descr="")
 Contains a vector of fields.
virtual const std::string & xml ()
size_t length () const
size_t length (size_t units) const
size_t element_length () const
size_t size () const
void set_size (size_t size)
virtual iterator begin ()
virtual iterator end ()
virtual FieldBase::pointer field (size_t i)
virtual FieldBase::pointer clone ()
virtual Container container_type ()

Static Public Member Functions

static FieldVector::pointer create (std::string name="", size_t size=0, size_t element_length=0, size_t element_length_units=BITS, int offset=0, size_t offset_units=BITS, std::string descr="")
static FieldVector::pointer create (std::string name="", size_t size=0, size_t element_length=0, size_t element_length_units=BITS, int offset=0, size_t offset_units=BITS, std::string descr="")
static FieldVector::pointer create (std::string name="", size_t size=0, size_t element_length=0, size_t element_length_units=BITS, int offset=0, size_t offset_units=BITS, std::string descr="")

Protected Types

typedef std::vector< Element::pointer > Elements
typedef std::vector< Element::pointer > Elements
typedef std::vector< Element::pointer > Elements

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

size_t m_size
Elements m_elements

Classes

class  Element
 Element is an base element in a field vector. More...


Constructor & Destructor Documentation

bit::FieldVector::FieldVector ( std::string  name = "",
size_t  size = 0,
size_t  element_length = 0,
size_t  element_length_units = BITS,
int  offset = 0,
size_t  offset_units = BITS,
std::string  descr = "" 
)

Contains a vector of fields.

This class is provided to allow for efficient implementation of large arrays without allocating a field instance for each element of the vector.

Parameters:
name The base name of this vector
size The number of elements of this vector
element_length The length of each element in units
offset The offset of the vector only, not of each element. After the initial offset the vector is considered to be packed.
units The units of each element

bit::FieldVector::FieldVector ( std::string  name = "",
size_t  size = 0,
size_t  element_length = 0,
size_t  element_length_units = BITS,
int  offset = 0,
size_t  offset_units = BITS,
std::string  descr = "" 
)

Contains a vector of fields.

This class is provided to allow for efficient implementation of large arrays without allocating a field instance for each element of the vector.

Parameters:
name The base name of this vector
size The number of elements of this vector
element_length The length of each element in units
offset The offset of the vector only, not of each element. After the initial offset the vector is considered to be packed.
units The units of each element

bit::FieldVector::FieldVector ( std::string  name = "",
size_t  size = 0,
size_t  element_length = 0,
size_t  element_length_units = BITS,
int  offset = 0,
size_t  offset_units = BITS,
std::string  descr = "" 
)

Contains a vector of fields.

This class is provided to allow for efficient implementation of large arrays without allocating a field instance for each element of the vector.

Parameters:
name The base name of this vector
size The number of elements of this vector
element_length The length of each element in units
offset The offset of the vector only, not of each element. After the initial offset the vector is considered to be packed.
units The units of each element


The documentation for this class was generated from the following files:
Generated on Tue Mar 13 20:00:05 2007 by  doxygen 1.5.1