Miscellaneous constructs used by Vaucanson

Collaboration diagram for Miscellaneous constructs used by Vaucanson:


Files

file  char_traits.hh
 Generic char_traits declarations.
file  deferrer.hh
 Declarations for the Deferrer class.
file  deferrer.hxx
 Definitions for the Deferrer class.
file  window.hh
 Window class for regular expression search on streams.

Namespaces

namespace  vcsn
 The main namespace of the Vaucanson library.

Modules

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

Classes

class  SparseIterator< vcsn::handler< T, unsigned >, ExcludedContainer >
 SparseIterator is an iterator over range except some points. More...
class  SparseInterval< vcsn::handler< T, unsigned >, ExcludedContainer >
 Container over a sparse integer range. More...
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...
class  SelfIterator
 SelfIterator is an iterator which is also a container. More...
class  SparseIterator
 SparseIterator is an iterator over range except some points. More...
class  SparseInterval
 Container over a sparse integer range. 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  true_t
 Static Booleans, for type matching use of Booleans. 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  Support< std::set< U > >
 Support<set<U, T> > is a const adapter of std::map to container. More...
struct  Window
 Handle windows in streams for performing regular expression search. More...

Small alphabetic letters random generation tools.

typedef
vcsn::algebra::static_char_interval
<'a', 'z'> 
small_alpha_interval_t
typedef
vcsn::algebra::static_ranged
< char, small_alpha_interval_t > 
small_alpha_letter_t
template<>
small_alpha_letter_t generate< small_alpha_letter_t > ()
 Generates a random small alphabetic letter.
void moveto (length_t offset)
 Move to a specific offset.
void moveto (iterator_t position)
 Move to a specific offset.

Accessors

letter_t eol_value () const
 Get the letter value used for ending lines.
iterator_t begin () const
 Get an iterator to the beginning of the stream.
iterator_t stream () const
 Get an iterator to the current position in the stream.
iterator_t end () const
 Get an iterator to the end of the stream.
size_t offset () const
 Get the actual offset in the stream.
length_t length () const
 Get the maximum length of the window.
string_t window () const
 Get the window as a basic_string<letter_t>.

Defines

#define DECLARE_PAIR_SPECIALIZATION(TYPE1, TYPE2)
 Generate a random std::pair<S, T>.
#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).

Enumerations

enum  

Functions

template<typename T>
generate ()
 Generate a random value.
template<typename T>
generate (T min, T max)
 Generate a random value between bounds.
template<>
char generate< char > ()
 Generate a random character.
template<>
char generate< char > (char min, char max)
 Generate a random character between bounds.
char generate_letter ()
 Generate a random lowercase letter.
char generate_digit ()
 Generate a random digit.
template<>
bool generate< bool > ()
 Generate a random Boolean.
template<>
int generate< int > ()
 Generate a random integer.
template<>
int generate< int > (int min, int max)
 Generate a random integer between two bounds.
template<>
unsigned generate< unsigned > ()
 Generate a random unsigned integer.
template<>
unsigned generate< unsigned > (unsigned min, unsigned max)
 Generate a random unsigned between two bounds.
template<>
float generate< float > ()
 Generate a random float between -2 and 2.
template<>
float generate< float > (float min, float max)
 Generate a random float between min and max.
template<>
double generate< double > ()
 Generate a random double between -2 and 2.
template<>
double generate< double > (double min, double max)
 Generate a random double between min and max.
template<class IteratorValueType, class InputIterator, class OutputIterator>
void sample_n (const IteratorValueType &, InputIterator first, InputIterator end, OutputIterator out, unsigned n)
 Generate of n sample from a range to an output iterator.
template<>
vcsn::algebra::RationalNumber generate< vcsn::algebra::RationalNumber > ()
 Generate a random rational number.
template<>
vcsn::algebra::RationalNumber generate< vcsn::algebra::RationalNumber > (const vcsn::algebra::RationalNumber min, const vcsn::algebra::RationalNumber max)
 Generates a bounded random rational number.
template<typename T>
const T & get (const T &)
 The canonicalization operator.
template<typename T>
const T * get (const T *)
 Version of the canonicalization operator for pointers.
 DeferrerDebugPart (void *ptr, bool is_valid=false)
 Deferrer ()
 Constructor.
Deferrer & operator= (const deferred_type &)
 Effectively builds the holded type.
 operator T () const
 Get back the holded type.
 Window (const iterator_t &stream, const iterator_t &eof, letter_t eol, length_t length)
 Standard constructor for the Window class.
bool eof () const
 Indicates wether the end of the stream has been reached or not.
bool eol () const
 Indicates wether a new line has been reached or not.
void shift (unsigned int n)
 Shift the window.
void shift ()
 Shift the window completely (equivalent to shift (size ())).
length_t size () const
 Returns the actual window size.
letter_t operator[] (length_t i) const
 Returns the i-th character of the window.
std::ostream & print (std::ostream &ostr) const
 Print the window.

Typedef Documentation

typedef vcsn::algebra::static_char_interval<'a', 'z'> small_alpha_interval_t

Definition at line 137 of file random.hh.

typedef vcsn::algebra::static_ranged<char, small_alpha_interval_t> small_alpha_letter_t

Definition at line 141 of file random.hh.


Enumeration Type Documentation

anonymous enum

Definition at line 39 of file deferrer.hh.


Function Documentation

T vcsn::misc::random::generate ( min,
max 
) [inline]

Generate a random value between bounds.

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

Referenced by RandomChooser::operator()(), and MetaElement< algebra::AlphabetSetBase< S >, T >::random_letter().

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 &  v  )  [inline]

The canonicalization operator.

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

See also:
unique_map

Definition at line 75 of file unique.hxx.

References UniqueMap::instance().

DeferrerDebugPart ( void *  ptr,
bool  is_valid = false 
) [inline, protected, inherited]

Definition at line 50 of file deferrer.hxx.

Deferrer (  )  [inline, inherited]

Constructor.

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

See also:
operator=

Definition at line 115 of file deferrer.hxx.

Deferrer< T, rt_checks > & operator= ( const deferred_type &  rhs  )  [inline, 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.

Definition at line 121 of file deferrer.hxx.

References Deferrer::data.

Window ( const iterator_t &  stream,
const iterator_t &  eof,
letter_t  eol,
length_t  length 
) [inline, 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

Definition at line 37 of file window.hxx.

void shift ( unsigned int  n  )  [inline, inherited]

Shift the window.

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

Definition at line 68 of file window.hxx.


Generated on Thu Sep 17 22:01:43 2009 for Vaucanson by  doxygen 1.5.6