ChemicallyTyped is a refinement of StrictlyChemicallyTyped, in that it requires everything that the latter concept defines, with the addition of methods to set the chemical type and type system associated with an object.
X
-- A type that models the ChemicallyTyped Conceptx
-- An object of type X
Expression | Type Requirements | Precondition | Semantics | Postcondition | Complexity
|
void x.set_type(X::type_id t)
| x is mutable | The type_id of x will be set to the value t. | x.type() will return the value t | O(1)
| |
X::chemical_type_system & x.get_chemical_type_system() | x is mutable | A reference to the chemical_type_system associated with x is returned. | O(1)
| ||
void x.set_chemical_type_system(X::chemical_type_system const & ts) | x is mutable | The type_system associated with x will be set to a copy of ts. | ts will be copied. x.clone_type_system() will return a copy of ts. |
| |
X::dictionary & x.get_dictionary() | x is mutable | Returns a reference to the dictionary object associated with x. | O(1) |