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

utility Namespace Reference
[Contract checking for VaucansnUtility constructs for Vaucanson]

In Vaucanson, several types of contracts can be placed in the library code. More...


Compounds

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_eq
 Test for equality between two types. 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...


Functions

template<class U, class T>  Support< std::map< U, T > >::Support (const Support &s)
 support<map<U, T> > is a const adapter of std::map to container.


Detailed Description

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

Assertions

Assertions are a weak kind of contract, which states that a specified property must hold.

A failed assertion should always mean that an internal inconsistency has been detected, caused by a software (or hardware) bug.

Preconditions

Preconditions ensure that the prerequisites for using a function or instanciating a template are fulfilled.

Breach of a precondition should prevent the library user from using a feature, either generating a type error for forbidden template instanciations or run-type exception at function entry.

Postconditions

Postconditions ensure that the result of a computation exhibit the specified properties.

Breach of a precondition should show that an algorithm is false.

Call to pure abstract services

Some services are purely abstract and should not be called directly. In most cases this kind of information is expressed through C++ typing.

Warnings

In addition to contracts, the library is equiped with mechanisms intended to inform the user of misbehaviors, undocumented properties, deprecated features and so on.

Deprecated features

Deprecated features are features that have been superceded by others, and intended to be removed at some point.

Weak implementations

Weak implementations are code pieces written to ensure that a specified feature is provided, but was not tested for full conformance.

Weak implementations should work with most trivial cases but denote a library weakness on which the developers will focus.

Incomplete implementation

Incomplete implementations are code pieces written to ensure that a specified expressivity is provided, but without providing the actual feature.


Generated on Fri Jul 11 19:43:39 2003 for Vaucanson by doxygen 1.3.2