Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

simth::LlvSeqStorage Class Reference

#include <signals.h>

Inheritance diagram for simth::LlvSeqStorage:

simth::LlvSeq simth::SignalSequenceBase< Llv, LlvSeqAttributes, simth::checkedVector< Llv >, LlvSeqStorage, LlvSeqAccess > List of all members.

Public Types

typedef LlvSeq::value_type value_type
typedef LlvSeq::attributes_type attributes_type
typedef LlvSeq::container_type container_type
typedef LlvSeq base_type
typedef container_type::iterator iterator
typedef container_type::const_iterator const_iterator
typedef container_type::reference reference
typedef container_type::const_reference const_reference

Public Member Functions

 LlvSeqStorage (size_t size, unsigned bitsPerState)
 LlvSeqStorage (size_t size, const value_type &val=value_type())
 LlvSeqStorage (const LlvSeq &seq)
virtual ~LlvSeqStorage ()
LlvSeqStorageoperator= (const LlvSeqStorage &seq)
size_t capacity () const
void resize (size_t newLength, unsigned newBitsPerSymbol)
void resize (size_t newLength)
attributes_typewAttributes ()
const attributes_typerAttributes () const
void lock ()
void unlock ()
bool isLocked () const

Detailed Description

Storage


Member Typedef Documentation

typedef LlvSeq::value_type simth::LlvSeqStorage::value_type
 

Reimplemented from simth::LlvSeq.

typedef LlvSeq::attributes_type simth::LlvSeqStorage::attributes_type
 

Reimplemented from simth::LlvSeq.

typedef LlvSeq::container_type simth::LlvSeqStorage::container_type
 

Reimplemented from simth::LlvSeq.

typedef LlvSeq simth::LlvSeqStorage::base_type
 

Reimplemented from simth::LlvSeq.

typedef container_type::iterator simth::LlvSeqStorage::iterator
 

Reimplemented from simth::LlvSeq.

typedef container_type::const_iterator simth::LlvSeqStorage::const_iterator
 

Reimplemented from simth::LlvSeq.

typedef container_type::reference simth::LlvSeqStorage::reference
 

Reimplemented from simth::LlvSeq.

typedef container_type::const_reference simth::LlvSeqStorage::const_reference
 

Reimplemented from simth::LlvSeq.


Constructor & Destructor Documentation

simth::LlvSeqStorage::LlvSeqStorage size_t  size,
unsigned  bitsPerState
 

Class Constructor.

Parameters:
size size
bitsPerState number of bits per state $= \log_2(\mbox{numberOfStates}$)

simth::LlvSeqStorage::LlvSeqStorage size_t  size,
const value_type val = value_type()
 

simth::LlvSeqStorage::LlvSeqStorage const LlvSeq seq  ) 
 

virtual simth::LlvSeqStorage::~LlvSeqStorage  )  [virtual]
 


Member Function Documentation

LlvSeqStorage& simth::LlvSeqStorage::operator= const LlvSeqStorage seq  ) 
 

size_t simth::LlvSeqStorage::capacity  )  const [inline]
 

Returns the number of currently allocated elements in the storage of this sequence.

Reimplemented from simth::SignalSequenceBase< Llv, LlvSeqAttributes, simth::checkedVector< Llv >, LlvSeqStorage, LlvSeqAccess >.

void simth::LlvSeqStorage::resize size_t  newLength,
unsigned  newBitsPerSymbol
 

Reimplemented from simth::LlvSeq.

void simth::LlvSeqStorage::resize size_t  newLength  )  [virtual]
 

Resize this sequence.

Watch out:

  • If this object is a SignalSequenceAccess: Resizing is only allowed to a smaller or equal size than what the SignalSequenceAccess was when it was created. Resizing to something bigger is not allowed at all and a std::runtime_exception will be thrown. Resizing to a smaller size does not resize the referenced underlying storage object. Instead, only the references are changed so that this object points to a smaller part of the underlying storage object.

  • If this object is a SignalSequenceStorage: Resizing will simply work just as it does with STL containers. WATCH OUT: After resizing, all iterators, shallow copies, and SignalSequenceAccess objects to this sequence might have become invalid. You must take care that no other shallow copy keeps around old pointers/iterators. Those will be invalid if the sequence has been truncated, or if the sequence has grown larger and thus moved to a different place in memory.

Reimplemented from simth::LlvSeq.

attributes_type& simth::LlvSeqStorage::wAttributes  ) 
 

Returns a reference to the attributes class of the sequence. Use this pointer obtain write access. If this object holds a lock on the attributes, this function will throw an Error.

(If you only need read access to the class use the function rAttributes().)

Reimplemented from simth::SignalSequenceBase< Llv, LlvSeqAttributes, simth::checkedVector< Llv >, LlvSeqStorage, LlvSeqAccess >.

const attributes_type& simth::LlvSeqStorage::rAttributes  )  const [inline]
 

Returns a constant reference to the attributes class of the sequence. Use this pointer obtain read only access. (If you need write acces to the class use the function wAttributes().

Reimplemented from simth::SignalSequenceBase< Llv, LlvSeqAttributes, simth::checkedVector< Llv >, LlvSeqStorage, LlvSeqAccess >.

void simth::LlvSeqStorage::lock  )  [inline]
 

Locks write access to the attributes, i.e. if calling wAttributes() while the attributes are locked, a std::runtime_error is thrown. To unlock the attributes use the function unlockAttributes().

void simth::LlvSeqStorage::unlock  )  [inline]
 

Unlocks write acces to the attributes again. After calling this, calling wAttributes() is allowed again.

bool simth::LlvSeqStorage::isLocked  )  const [inline]
 

Returns true if the attributes are locked, otherwise false.


Generated on Mon Apr 24 21:19:20 2006 for simthetic by  doxygen 1.4.1