21 #include "SheafSystem/group.h" 23 #include "SheafSystem/assert_contract.h" 24 #include "SheafSystem/poset.h" 119 const string& result = static_class_name();
123 ensure(!result.empty());
138 static const string result(
"group_lite");
142 ensure(!result.empty());
164 ensure(is_same_type(*result));
188 require(&xother != 0);
194 bool result =
dynamic_cast<const group_lite*
>(&xother) != 0;
207 if(invariant_check())
211 disable_invariant_check();
215 invariance(any_lite::invariant());
221 enable_invariant_check();
251 require(is_ancestor_of(&xother));
252 require(precondition_of(attach_to_state(&xother)));
256 attach_to_state(&xother);
260 ensure(postcondition_of(attach_to_state(&xother)));
274 require(precondition_of(attach_to_state(&xother)));
278 attach_to_state(&xother);
282 ensure(postcondition_of(attach_to_state(&xother)));
313 result =
dynamic_cast<poset*
>(_host);
317 ensure(is_basic_query);
318 ensure( (_host != 0) == (result != 0) );
361 const string& result = static_class_name();
365 ensure(!result.empty());
380 static const string result(
"group");
384 ensure(!result.empty());
416 invariance(total_poset_member::invariant());
418 if (invariant_check())
422 disable_invariant_check();
426 enable_invariant_check();
431 ensure(is_derived_query);
445 require(xother != 0);
451 bool result =
dynamic_cast<const group*
>(xother) != 0;
virtual const std::string & class_name() const
The name of this class.
group_lite()
Default constructor.
The general, abstract mathematical group (volatile version).
group_lite & operator=(const group_lite &xother)
Assignment operator.
virtual ~group()
Destructor.
virtual bool is_ancestor_of(const any *other) const
Conformance test; true if other conforms to this.
group()
Default constructor.
Abstract base class with useful features for all volatile objects.
Abstract base class with useful features for all objects.
A client handle for a mutable partially ordered set.
The general, abstract mathematical group (persistent version)
bool invariant() const
Class invariant.
static const std::string & static_class_name()
The name of this class.
host_type * host() const
The poset this is a member of.
static const std::string & static_class_name()
The name of this class.
virtual bool is_ancestor_of(const any_lite &xother) const
Conformance test; true if other conforms to this.
virtual group & operator=(const abstract_poset_member &xother)
Assignment operator; synonym for attach_to_state(&xother).
virtual bool invariant() const
Class invariant.
An abstract client handle for a member of a poset.
virtual group_lite * clone() const
Virtual constructor, makes a new instance of the same type as this.
Namespace for the fiber_bundles component of the sheaf system.
virtual const std::string & class_name() const =0
The name of this class.
virtual ~group_lite()
Destructor.