faudes::SymbolSet Class Reference
[State, Event and Transition Set]

#include <symbolset.h>

Inheritance diagram for faudes::SymbolSet:

faudes::TBaseSet< std::string > faudes::Type List of all members.

Detailed Description

Set of symbols.

The class is built on top of the faudes version TBaseSet of STL sets. It provides the essentials of the STL interface and plus token based file IO. Invalid iterators throw an exception (id 62) when used as an argument to a SymbolSet function. If the macro FAUDES_CHECKED is defined, the attempt to insert an invalid symbol an exception (id 61).

Note that a symbol set holds a plain set of valid faudes symbols with no indices or symboltable associated. If you are looking for a set of items with mandatory symbolic names you most likely are better of with a NameSet or a TaNameSet. Currently, there is no attributed version of a SymbolSet.

The token IO format is demonstrated by the following example of a set with name "MySymbols"

 <MySymbols> 
 "ASymbol"
 "AnotherSymbol" 
 </MySymbols> 
Note that you can read SymbolSet files to NameSets and vice versa.

Definition at line 68 of file symbolset.h.

Public Types

typedef TBaseSet< std::string
>::Iterator 
Iterator
 Iterators on indexset.

Public Member Functions

 SymbolSet (void)
 Constructor.
 SymbolSet (const TBaseSet< std::string > &rOtherSet)
 Copy-constructor.
 SymbolSet (const std::string &rFilename, const std::string &rLabel="SymbolSet")
 Construct from file.
virtual ~SymbolSet (void)
 Virtual destructor.
bool Valid (const std::string &symbol) const
 Test whether the given string is a valid faudes symbol.
bool Insert (const std::string &symbol)
 Insert specified symbol.
Idx Signature (void) const
 Compute an Idx type signature for a Set.
std::string Str (const std::string &symbol) const
 Return pretty printable symbol.

Protected Member Functions

void DoWrite (TokenWriter &tw, const std::string &rLabel="", const Type *pContext=0) const
 Write to TokenWriter, see TBaseSet for public wrappers.
void DoRead (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
 Read from TokenReader, see TBaseSet for public wrappers.


Member Typedef Documentation

typedef TBaseSet<std::string>::Iterator faudes::SymbolSet::Iterator
 

Iterators on indexset.

Definition at line 115 of file symbolset.h.


Constructor & Destructor Documentation

faudes::SymbolSet::SymbolSet void   ) 
 

Constructor.

Definition at line 28 of file symbolset.cpp.

faudes::SymbolSet::SymbolSet const TBaseSet< std::string > &  rOtherSet  ) 
 

Copy-constructor.

Definition at line 36 of file symbolset.cpp.

faudes::SymbolSet::SymbolSet const std::string &  rFilename,
const std::string &  rLabel = "SymbolSet"
 

Construct from file.

Uses the Read(TokenReader&, const std::string&) function to read. a SymbolSet from section rLabel in file rFilename.

Parameters:
rFilename Name of file to read
rLabel Section to read
Exceptions:
Exception 
  • IO Errors (id 1)
  • token musmatch (id 50, 51, 52)

Definition at line 43 of file symbolset.cpp.

virtual faudes::SymbolSet::~SymbolSet void   )  [inline, virtual]
 

Virtual destructor.

Definition at line 101 of file symbolset.h.


Member Function Documentation

void faudes::SymbolSet::DoRead TokenReader rTr,
const std::string &  rLabel = "",
const Type pContext = 0
[protected, virtual]
 

Read from TokenReader, see TBaseSet for public wrappers.

Parameters:
rTr Reference to tokenreader
rLabel Section to read
pContext Read context for contextual information
Exceptions:
Exception 
  • IO errors (id 1)
  • token mismatch (id 50, 51, 52)

Reimplemented from faudes::TBaseSet< std::string >.

Definition at line 66 of file symbolset.cpp.

void faudes::SymbolSet::DoWrite TokenWriter tw,
const std::string &  rLabel = "",
const Type pContext = 0
const [protected, virtual]
 

Write to TokenWriter, see TBaseSet for public wrappers.

Parameters:
tw Reference to TokenWriter
rLabel Label of section to write, defaults to name of set
pContext Write context for contextual information
Exceptions:
Exception 
  • IO errors (id 2)

Reimplemented from faudes::TBaseSet< std::string >.

Definition at line 51 of file symbolset.cpp.

bool faudes::SymbolSet::Insert const std::string &  symbol  )  [virtual]
 

Insert specified symbol.

Parameters:
symbol Symbol to insert
Returns:
True if symbol was new to set

Reimplemented from faudes::TBaseSet< std::string >.

Definition at line 91 of file symbolset.cpp.

Idx faudes::SymbolSet::Signature void   )  const [inline]
 

Compute an Idx type signature for a Set.

This method is currently not implemented.

Returns:
Idx type set signature

Definition at line 134 of file symbolset.h.

std::string faudes::SymbolSet::Str const std::string &  symbol  )  const [inline]
 

Return pretty printable symbol.

Parameters:
symbol Symbol to print
Returns:
String

Definition at line 145 of file symbolset.h.

bool faudes::SymbolSet::Valid const std::string &  symbol  )  const [virtual]
 

Test whether the given string is a valid faudes symbol.

Parameters:
symbol Symbol to test
Returns:
True if valid

Reimplemented from faudes::TBaseSet< std::string >.

Definition at line 97 of file symbolset.cpp.


The documentation for this class was generated from the following files:
Generated on Mon Nov 10 08:13:17 2008 for libFAUDES 2.11v by  doxygen 1.4.4