The BTK StrictlyChemicallyTyped Concept

Description:

A type that models StrictlyChemicallyTyped has an associated "chemical type" identifier (e.g. an atom or residue type), that is part of a self-consistent "chemical type system" (e.g. a set of atom and residue types that are specific to a particular type of molecule). The concept is "strict," because it does not allow the modification of either of these associated objects. This is essential when dealing with complex molecule types for which a change in chemical type following construction is difficult or undesirable.

Concept Refines:

STL Concepts:

None.

BTK Concepts:

None.

Notation:

X -- A type that models the StrictlyChemicallyTyped Concept
x -- An object of type X

Associated Types:

Chemical Type System Type
 X::chemical_type_system 
A type modelling the TypeSystem Concept

Dictionary Type
 X::dictionary 
A type modelling the Dictionary Concept

Chemical ID Type
 X::id_type 
A type modelling the TypeID Concept

Definitions:

None.

Valid Expressions:

In addition to those expressions specified by the refined concepts, the following expressions must be valid:

Expression Type Requirements Precondition Semantics Postcondition Complexity

 X::id_type x.type() const 
Returns the chemical type ID of x. O(1)

 std::string x.name() const 
If x.type() returns a defined chemical type, x.name() returns a non-empty string. Otherwise, x.name() returns an empty string.

 X::chemical_type_system const &
 x.get_chemical_type_system() const 
Returns a const reference to the chemical type system associated with x. O(1)

 X::dictionary const & x.get_dictionary() const 
Returns a const reference to the dictionary_type associated with x. O(1)

Models:

Invariants:

Notes:


Generated on Sun Jul 15 20:46:28 2007 for BTK Core by  doxygen 1.5.1