Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
|
Data Structures | |
class | GlobalData |
Class to represent some global modifiers and data. More... | |
class | Permutation |
class | ranked_symbol |
class | SparseBoolVector |
class | Streams |
Aggregation class for various standard streams defined by the library. More... | |
class | symbol_or_epsilon |
Functions | |
template<class T > | |
void | inc (T &object) |
template<> | |
void | inc (std::string &object) |
template<> | |
void | inc (ext::string &object) |
template<class T , class ... Alphabets> | |
T | createUnique (T object, const Alphabets &... alphabets) |
template<class SymbolType > | |
ext::ostream & | operator<< (ext::ostream &out, const common::ranked_symbol< SymbolType > &symbol) |
template<class SymbolType > | |
ext::ostream & | operator<< (ext::ostream &out, const common::symbol_or_epsilon< SymbolType > &symbol) |
T common::createUnique | ( | T | object, |
const Alphabets &... | alphabets | ||
) |
Creates a unique object of type T. If given object is already used in sets alphabets, the function attempts to make it unique.
The code tries to call preincrement operator on the object as many times as needed until the result is not in any set alphabets.
name | name of the state |
exception::CommonException | if the symbol could not be created |
|
inline |
|
inline |
|
inline |
ext::ostream & common::operator<< | ( | ext::ostream & | out, |
const common::ranked_symbol< SymbolType > & | symbol | ||
) |
ext::ostream & common::operator<< | ( | ext::ostream & | out, |
const common::symbol_or_epsilon< SymbolType > & | symbol | ||
) |