Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

STILBlock Class Reference

STILBlock Class Interface. More...

#include <stilblock.h>

Inheritance diagram for STILBlock:

STILEntity STIL STILCategory STILHeader STILHistory STILMacroDefs STILPatList STILPatternBlock STILPatternBurstBlock STILPatternExec STILProcedures STILScanChain STILScanStructures STILSelector STILSignalBlock STILSignalGroups STILSignals STILSpec STILSubWaveform STILSubWaveforms STILTerminations STILTiming STILVariable STILVectorBlock STILVectorItem STILWaveform STILWaveformItem STILWaveforms STILWaveformTable List of all members.

Public Types

typedef STILBlockIterator Iterator
typedef STILBlockConstIterator ConstIterator

Public Member Functions

 STILBlock ()
 STILBlock (Type)
 STILBlock (const STILBlock &)
virtual ~STILBlock ()
STILBlockoperator= (const STILBlock &)
bool operator== (const STILBlock &) const
bool operator< (const STILBlock &) const
void init (Type t)
void clear ()
virtual void write (FILE *pOutFile, LONG indentation=0) const
Iterator iterator ()
ConstIterator constIterator () const
void addUserKeywords (const sstring &keyword, const sstring &label="", LONG linenumber=0, const sstring &filename="")
void addAnn (const sstring &ann, LONG linenumber=0, const sstring &filename="")
void addEntity (STILEntity &)
void addEntity (Type t, const sstring &name, const sstring &value, const sstring &label="", LONG linenumber=0, const sstring &filename="")
void addUserStatement (const sstring &keyword, const sstring &value, const sstring &label="", LONG linenumber=0, const sstring &filename="")
void addUserBlock (const sstring &keyword, const sstring &value, const sstring &label="", LONG linenumber=0, const sstring &filename="")

Protected Attributes

std::list< STILEntity * > m_entityList
std::list< STILEntitym_simpleEntityList
std::list< STILEntitym_badCopyEntityList

Friends

class STILBlockIterator
class STILBlockConstIterator

Detailed Description

STILBlock Class Interface.

The base class from which all STIL block ({...}) type objects.

Provides common features of any STIL blocks like storing any user defined statements as well as STIL annotations. Also, to allow for preserving the ordering statements, annotations, & other blocks, this class maintains a list of pointers to STILEntity objects which is populated during reading or creation of the associated STIL block and then used during writing of the STIL block to output the entities in the order specified during processing.


Member Typedef Documentation

typedef STILBlockConstIterator STILBlock::ConstIterator
 

typedef STILBlockIterator STILBlock::Iterator
 


Constructor & Destructor Documentation

STILBlock::STILBlock  ) 
 

Parameters:
 

STILBlock::STILBlock Type  t  ) 
 

Constructor a STILBlock object from another STILBlock.

Parameters:
t Type of block object to construct
Returns:

STILBlock::STILBlock const STILBlock b  ) 
 

Constructor a STILBlock object from another STILBlock.

Parameters:
b STILBlock object to clone
Returns:

STILBlock::~STILBlock  )  [virtual]
 

Destructor for a STILBlock object.

Parameters:
 
Returns:


Member Function Documentation

void STILBlock::addAnn const sstring ann,
LONG  ln = 0,
const sstring fn = ""
[inline]
 

Add an annotation to this block object.

Parameters:
ann Annotation text
ln Line number (optional)
fn Filename (optional)
Returns:
(void)

void STILBlock::addEntity Type  type,
const sstring name,
const sstring value,
const sstring label = "",
LONG  linenumber = 0,
const sstring filename = ""
 

Add a "simple" entity (for UserStatements, Ann, ...).

Parameters:
type Type of entity (Ann, Signal,...)
name Name or keyword of entity
value Value of entity
label Label associated with this entity (optional)
linenumber Line # associated with this entity (optional)
filename Filename associated with this entity (optional)
Returns:
(void)

void STILBlock::addEntity STILEntity entity  ) 
 

Add an existing entity to the entity list.

Parameters:
entity Existing entity to be added
Returns:
(void)

void STILBlock::addUserBlock const sstring k,
const sstring v,
const sstring l = "",
LONG  ln = 0,
const sstring fn = ""
[inline]
 

Add a UserBlock to this block object.

Parameters:
k Block name
v Block value
l Block label (optional)
ln Line number (optional)
fn Filename (optional)
Returns:
(void)

void STILBlock::addUserKeywords const sstring k,
const sstring l = "",
LONG  ln = 0,
const sstring fn = ""
[inline]
 

Add a UserKeyword to this block object.

Parameters:
k Kwd name
v Kwd value
l Kwd label (optional)
ln Line number (optional)
fn Filename (optional)
Returns:
(void)

void STILBlock::addUserStatement const sstring k,
const sstring v,
const sstring l = "",
LONG  ln = 0,
const sstring fn = ""
[inline]
 

Add a UserStatement to this block object.

Parameters:
k Statement name
v Statement value
l Statement label (optional)
ln Line number (optional)
fn Filename (optional)
Returns:
(void)

void STILBlock::clear  ) 
 

Clear out all underlying lists.

Parameters:
None 
Returns:
(void)

Reimplemented in STILPatternBlock.

STILBlockConstIterator STILBlock::constIterator  )  const
 

Get a const iterator which will iterate over items in this object.

Parameters:
 
Returns:
(STILBlockConstIterator) A const iterator for this block

void STILBlock::init Type  t  ) 
 

Initialize/reset the STILBlock object.

Parameters:
t Object type
Returns:
(void)

Reimplemented from STILEntity.

STILBlockIterator STILBlock::iterator  ) 
 

Get an iterator which will iterate over items in this block object.

Parameters:
None 
Returns:
STILBlockIterator An Iterator for this block, to iterate over all STILEntity's contained within.

bool STILBlock::operator< const STILBlock block  )  const
 

Less Than operator.

Parameters:
block Right hand side of < operator
Returns:
(bool) true if < false if >=

STILBlock & STILBlock::operator= const STILBlock b  ) 
 

Assignment operator for a STILBlock object.

Parameters:
b Source object to assign into this target object
Returns:
(StilBlock&) The cloned STILBlock object
Description: Performs a cloned "deep copy" of the source object.

bool STILBlock::operator== const STILBlock block  )  const
 

Equality operator.

Parameters:
block Right hand side of == operator
Returns:
(bool) true if ==, false if !=

void STILBlock::write FILE *  pOutFile,
LONG  indentation = 0
const [virtual]
 

Write the STILBlock object to a FILE.

Parameters:
pOutFile FILE * to write output indentation The number of formatting indentation spaces
Returns:
(void)
This just defines a default formatting for a block of STIL data. This virtual method can be reimplemented in any particular block to allow for a different formatting of the output data.

Reimplemented from STILEntity.

Reimplemented in STILCall, STILCategory, STILCondition, STILFixed, STILHeader, STILHistory, STILLoop, STILMacro, STILMacroDef, STILMacroDefs, STILPatList, STILPattern, STILPatternBurst, STILPatternBurstBlock, STILPatternExec, STILProcedure, STILProcedures, STILScanChain, STILScanStructures, STILSelector, STILShift, STILSignal, STILSignalGroup, STILSignalGroups, STILSignals, STILSpec, STILSubWaveform, STILSubWaveforms, STILTerminations, STILTiming, STILVariable, STILVector, STILVectorBlock, STILVectorItem, STILWaveform, STILWaveformItem, STILWaveforms, and STILWaveformTable.


Friends And Related Function Documentation

friend class STILBlockConstIterator [friend]
 

friend class STILBlockIterator [friend]
 


Member Data Documentation

std::list<STILEntity> STILBlock::m_badCopyEntityList [protected]
 

std::list<STILEntity *> STILBlock::m_entityList [protected]
 

std::list<STILEntity> STILBlock::m_simpleEntityList [protected]
 


The documentation for this class was generated from the following files:
This page last updated on 6 Jul 2007

SourceForge.net Logo