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  utility::remove_reference
 Turn a reference type into its corresponding plain type. More...

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

struct  utility::static_if
 Choose between two types or values depending on a constant boolean. More...

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

struct  utility::static_pow
 Static exponentiation. More...

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

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

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

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

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

class  utility::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 Wed Jul 2 19:09:10 2003 for Vaucanson by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002