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

Utility constructs for Vaucanson


Files

file  char_traits.hh
 Generic char_traits declarations.

file  deferrer.hh
 This file contains declarations for the Deferrer class.

file  deferrer.hxx
 This file contains definitions for the Deferrer class.

file  selectors.hh
 Definition of type argument macros.

file  unique.hh
 Declarations for the type canonicalization tools.

file  misc/static.hh
 Definition of metaprogrammation helpers.

file  random.hh
 Definition of random generators.

file  contract.hh
 Definition of contract macros.

file  limits.hh
 Wrapper about the numeric limits for Vaucanson.

file  window.hh
 Window class for regular expression search on streams.


Namespaces

namespace  utility
 The namespace for utility constructs.


Modules

group Contract checking for Vaucanson
 In Vaucanson, several types of contracts can be placed in the library code.


Classes

struct  generic_int_type
 Generic and under-efficient int_type implementation for char_traits. More...

struct  char_traits
 Generic char_traits. More...

struct  DeferrerDebugPart
 Helper class for Deferrer. More...

struct  Deferrer
 This class defers the creation of its template parameter. More...

struct  remove_reference
 Turn a reference type into its corresponding plain type. More...

struct  remove_const
 Turn a const type into its corresponding mutable type. More...

struct  static_if
 Choose between two types or values depending on a constant Boolean. More...

struct  static_if_simple
 Choose between two types or values depending on a constant Boolean. More...

struct  static_eq
 Test for equality between two types. More...

struct  static_pow_compute
 These are auxilliary functions for static_pow. More...

struct  static_pow
 Static exponentiation. More...

struct  static_pow_minus_one
 Static exponentiation, result minus one. More...

class  SupportIterator
 Iterator over the Support generic class. More...

class  Support< std::map< U, T > >
 Support<map<U, T> > is a const adapter of std::map to container. More...

class  SparseIterator
 SparseIterator is an iterator over range except some points. More...

class  SparseInterval
 Container over a sparse integer range. More...

class  SelfIterator
 SelfIterator is an iterator which is also a container. More...

struct  Window
 Handle windows in streams for performing regular expression search. More...


Small alphabetic letters random generation tools.

template<> small_alpha_letter_t utility::random::generate< small_alpha_letter_t > ()
 Generates a random small alphabetic letter.


[NOHEADER]

void utility::Window::moveto (length_t offset)
 Move to a specific offset.

void utility::Window::moveto (iterator_t position)
 Move to a specific offset.


Accessors

letter_t utility::Window::eol_value () const
 Get the letter value used for ending lines.

iterator_t utility::Window::begin () const
 Get an iterator to the beginning of the stream.

iterator_t utility::Window::stream () const
 Get an iterator to the current position in the stream.

iterator_t utility::Window::end () const
 Get an iterator to the end of the stream.

size_t utility::Window::offset () const
 Get the actual offset in the stream.

length_t utility::Window::length () const
 Get the maximum length of the window.

string_t utility::Window::window () const
 Get the window as a basic_string<letter_t>.


Defines

#define SELECT(T)   (*(const T*)0)
 Type argument for types with no commas (simple or 1-par templates).

#define SELECT2(T1, T2)   (*(const T1 , T2 *)0)
 Type argument for types with one comma (2-parameters templates).

#define SELECT3(T1, T2, T3)   (*(const T1 , T2, T3 *)0)
 Type argument for types with two commas (3-parameters templates).

#define SELECT4(T1, T2, T3, T4)   (*(const T1 , T2, T3, T4 *)0)
 Type argument for types with three commas (4-parameters templates).

#define SELECTOR(T)   const T &
 Type formal argument for types with no commas (simple or 1-par templates).

#define SELECTOR2(T1, T2)   const T1 , T2 &
 Type formal argument for types with one comma (2-parameters templates).

#define SELECTOR3(T1, T2, T3)   const T1 , T2, T3 &
 Type formal argument for types with two commas (3-parameters templates).

#define SELECTOR4(T1, T2, T3, T4)   const T1 , T2, T3, T4 &
 Type formal argument for types with three commas (4-parameters templates).


Functions

template<typename T> T utility::random::generate ()
 Generate a random value.

template<typename T> T utility::random::generate (T min, T max)
 Generate a random value between bounds.

template<> char utility::random::generate< char > ()
 Generate a random character.

template<> char utility::random::generate< char > (char min, char max)
 Generate a random character between bounds.

char utility::random::generate_letter ()
 Generate a random lowercase letter.

char utility::random::generate_digit ()
 Generate a random digit.

template<> bool utility::random::generate< bool > ()
 Generate a random Boolean.

template<> int utility::random::generate< int > ()
 Generate a random integer.

template<> int utility::random::generate< int > (int min, int max)
 Generate a random integer between two bounds.

template<> unsigned utility::random::generate< unsigned > ()
 Generate a random unsigned integer.

template<> unsigned utility::random::generate< unsigned > (unsigned min, unsigned max)
 Generate a random unsigned between two bounds.

template<> float utility::random::generate< float > ()
 Generate a random float between -2 and 2.

template<> float utility::random::generate< float > (float min, float max)
 Generate a random float between min and max.

template<> double utility::random::generate< double > ()
 Generate a random double between -2 and 2.

template<> double utility::random::generate< double > (double min, double max)
 Generate a random double between min and max.

template<class InputIterator, class OutputIterator> void utility::random::sample_n (InputIterator first, InputIterator end, OutputIterator out, unsigned n)
 Generate of n sample from a range to an output iterator.

template<> vcsn::algebra::RationalNumber utility::random::generate< vcsn::algebra::RationalNumber > ()
 Generate a random rational number.

template<> vcsn::algebra::RationalNumber utility::random::generate< vcsn::algebra::RationalNumber > (const vcsn::algebra::RationalNumber min, const vcsn::algebra::RationalNumber max)
 Generates a bounded random rational number.

template<> std::pair< char, int > utility::random::generate< std::pair< char, int > > ()
 Generate a random std::pair<char, int>.

template<typename T> const T & utility::unique::get (const T &)
 The canonicalization operator.

template<typename T> const T * utility::unique::get (const T *)
 Version of the canonicalization operator for pointers.

 utility::Deferrer::Deferrer ()
 Constructor.

Deferrer & utility::Deferrer::operator= (const deferred_type &)
 Effectively builds the holded type.

 utility::Deferrer::operator T () const
 Get back the holded type.

 utility::Window::Window (const iterator_t &stream, const iterator_t &eof, letter_t eol, length_t length)
 Standard constructor for the Window class.

bool utility::Window::eof () const
 Indicates wether the end of the stream has been reached or not.

bool utility::Window::eol () const
 Indicates wether a new line has been reached or not.

void utility::Window::shift (unsigned int n)
 Shift the window.

void utility::Window::shift ()
 Shift the window completely (equivalent to shift(size())).

length_t utility::Window::size () const
 Returns the actual window size.

letter_t utility::Window::operator[] (length_t i) const
 Returns the i-th character of the window.

std::ostream & utility::Window::print (std::ostream &ostr) const
 Print the window.


Function Documentation

T generate min,
max
 

Generate a random value between bounds.

This function returns a value between min and max (inclusive).

vcsn::algebra::RationalNumber generate< vcsn::algebra::RationalNumber > const vcsn::algebra::RationalNumber  min,
const vcsn::algebra::RationalNumber  max
[inline]
 

Generates a bounded random rational number.

Both fractions are first brought to the same denominator. Then, the maximum of the denominator and both numerators is taken. With this number, we work out a ratio, which is used to have a larger range of choice for our new fraction.

const T & get const T &   ) 
 

The canonicalization operator.

This operator uses the unique_map structure to retrieve the unique instance equal to the given value.

See also:
unique_map

Deferrer  )  [inherited]
 

Constructor.

Please notice that this constructor *do not initialize* the holded type.

See also:
operator=

Deferrer< T, rt_checks > & operator= const deferred_type &   )  [inherited]
 

Effectively builds the holded type.

Warning:
Calling this operator twice does not call any destructor nor overloaded operators = on the first instance which was created.

Window const iterator_t &  stream,
const iterator_t &  eof,
letter_t  eol,
length_t  length
[inherited]
 

Standard constructor for the Window class.

Build a window from a couple of begin/end iterator, a newline character and a window length.

Parameters:
stream Iterator to the begining of the stream.
eof Iterator to the end of the stream.
eol The newline character.
length The window length.
See also:
Window

void shift unsigned int  n  )  [inherited]
 

Shift the window.

Parameters:
n The number of character the window must be shifted.


Generated on Mon Mar 29 15:42:43 2004 for Vaucanson by doxygen 1.3.6-20040222