SheafSystem
0.0.0.0
|
A poset bounds pair with lower and upper bounds each specified by a single member. More...
#include <member_member_poset_bounds.h>
Public Member Functions | |
member_member_poset_bounds () | |
Default constructor; private to prevent default construction. More... | |
member_member_poset_bounds (const member_member_poset_bounds &xother) | |
Copy constructor. More... | |
virtual member_member_poset_bounds * | clone () const |
Virtual constructor; makes a new instance of the same type as this. More... | |
virtual | ~member_member_poset_bounds () |
Destructor. More... | |
virtual bool | invariant () const |
Class invariant. More... | |
virtual bool | is_ancestor_of (const any *other) const |
Conformance test; true if other conforms to this. More... | |
virtual bool | lb_contains_member (const scoped_index &xindex) |
True if the lower bound contains the member with index xindex. More... | |
virtual index_iterator | lb_iterator () |
An iterator for the members of the lower bound. More... | |
virtual bool | ub_contains_member (const scoped_index &xindex) |
True if the upper bound contains the member with index xindex. More... | |
virtual index_iterator | ub_iterator () |
An iterator for the members of the upper bound. More... | |
bool | is_attached () |
True if lb() and ub() are attached. More... | |
virtual void | attach_to_state (poset_state_handle *xhost) |
Attaches the lower and upper bounds. More... | |
virtual void | detach_from_state () |
Detaches the lower and upper bounds. More... | |
virtual poset_bounds_descriptor | descriptor () |
A descriptor for this. More... | |
member_member_poset_bounds (int xlb_id, int xub_id) | |
Constructs bounds with lower bound the singleton subposet specified by the member with index xlb_id and upper bound the singleton subposet specified by the member with index xub_id. More... | |
Public Member Functions inherited from sheaf::poset_bounds | |
poset_bounds () | |
Default constructor. More... | |
poset_bounds (const poset_bounds &xother) | |
Copy constructor. More... | |
poset_bounds (const poset_bounds_descriptor &xdesc) | |
Creates an instance to math descriptor xdesc. More... | |
virtual | ~poset_bounds () |
Destructor. More... | |
virtual poset_bounds_descriptor | descriptor () const |
A descriptor for this. More... | |
poset_bounds_descriptor::specification_mode | mode () const |
The specification mode. More... | |
pod_index_type | lb_id () const |
The index of the lower bound member, if the lower bound contains a single member. More... | |
void | put_lb_id (pod_index_type xlb_id) |
Sets the index of the lower bound member to xlb_ib, if the lower bound contains a single member. More... | |
void | put_lb_id (const scoped_index &xlb_id) |
Sets the index of the lower bound member to xlb_ib, if the lower bound contains a single member. More... | |
bool | lb_is_singleton () const |
True if the lower bound contains a single member. More... | |
bool | bounded_below () const |
True if the lower bound is not the bottom. More... | |
pod_index_type | ub_id () const |
The index of the upper bound member, if the upper bound contains a single member. More... | |
void | put_ub_id (pod_index_type xub_id) |
Sets the index of the upper bound member to xub_ib, if the upper bound contains a single member. More... | |
void | put_ub_id (const scoped_index &xub_id) |
Sets the index of the upper bound member to xub_ib, if the upper bound contains a single member. More... | |
bool | ub_is_singleton () const |
True if the upper bound contains a single member. More... | |
bool | ub_is_decomposition () const |
True if the join of the members of the upper bound is equal to the external schema. More... | |
bool | bounded_above () const |
True if the upper bound is not the top. More... | |
Public Member Functions inherited from sheaf::any | |
bool | is_same_type (const any *other) const |
True if other is the same type as this. More... | |
virtual | ~any () |
Destructor. More... | |
bool | invariant_check () const |
True if invariant checking is enabled. More... | |
void | enable_invariant_check () const |
Enable invariant checking. More... | |
void | disable_invariant_check () const |
Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing invariant checking during multi-phase initialization. More... | |
int | disable_invariance_check_request_depth () const |
Number of times disable_invariant_check has been called without matching call to enable_invariant_check. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from sheaf::any | |
any () | |
default constructor More... | |
Protected Attributes inherited from sheaf::poset_bounds | |
poset_bounds_descriptor | _descriptor |
A descriptor for this. More... | |
zn_to_bool * | _lb |
The lower bound. More... | |
bool | _lb_is_singleton |
True if the lower bound contains a single member. More... | |
bool | _bounded_below |
True if the lower bound is not the bottom. More... | |
zn_to_bool * | _ub |
The upper bound. More... | |
bool | _ub_is_singleton |
True if the upper bound contains a single member. More... | |
bool | _bounded_above |
True if the upper bound is not the top. More... | |
A poset bounds pair with lower and upper bounds each specified by a single member.
Definition at line 35 of file member_member_poset_bounds.h.
sheaf::member_member_poset_bounds::member_member_poset_bounds | ( | ) |
Default constructor; private to prevent default construction.
Definition at line 34 of file member_member_poset_bounds.cc.
References sheaf::poset_bounds::_bounded_above, sheaf::poset_bounds::_bounded_below, sheaf::poset_bounds::_lb_is_singleton, sheaf::poset_bounds::_ub_is_singleton, invariant(), and is_attached().
Referenced by clone(), and descriptor().
sheaf::member_member_poset_bounds::member_member_poset_bounds | ( | const member_member_poset_bounds & | xother | ) |
Copy constructor.
Definition at line 62 of file member_member_poset_bounds.cc.
References clone(), and invariant().
|
virtual |
Destructor.
Definition at line 108 of file member_member_poset_bounds.cc.
References detach_from_state(), and invariant().
Referenced by clone().
sheaf::member_member_poset_bounds::member_member_poset_bounds | ( | int | xlb_id, |
int | xub_id | ||
) |
Constructs bounds with lower bound the singleton subposet specified by the member with index xlb_id and upper bound the singleton subposet specified by the member with index xub_id.
Definition at line 382 of file member_member_poset_bounds.cc.
References sheaf::poset_bounds::_bounded_above, sheaf::poset_bounds::_bounded_below, sheaf::poset_bounds::_lb_is_singleton, sheaf::poset_bounds::_ub_is_singleton, invariant(), and is_attached().
|
virtual |
Attaches the lower and upper bounds.
Definition at line 294 of file member_member_poset_bounds.cc.
References sheaf::poset_state_handle::contains_member(), detach_from_state(), invariant(), is_attached(), sheaf::poset_bounds::lb_id(), sheaf::zn_to_bool::put(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and sheaf::poset_bounds::ub_id().
Referenced by is_attached().
|
virtual |
Virtual constructor; makes a new instance of the same type as this.
Reimplemented from sheaf::poset_bounds.
Definition at line 84 of file member_member_poset_bounds.cc.
References sheaf::any::is_same_type(), member_member_poset_bounds(), and ~member_member_poset_bounds().
Referenced by member_member_poset_bounds().
|
virtual |
A descriptor for this.
Definition at line 358 of file member_member_poset_bounds.cc.
References sheaf::poset_bounds::lb_id(), sheaf::poset_bounds_descriptor::lb_id(), member_member_poset_bounds(), sheaf::poset_bounds_descriptor::mode(), sheaf::poset_bounds::ub_id(), and sheaf::poset_bounds_descriptor::ub_id().
Referenced by detach_from_state().
|
virtual |
Detaches the lower and upper bounds.
Definition at line 327 of file member_member_poset_bounds.cc.
References descriptor(), invariant(), and is_attached().
Referenced by attach_to_state(), and ~member_member_poset_bounds().
|
virtual |
Class invariant.
Reimplemented from sheaf::poset_bounds.
Definition at line 127 of file member_member_poset_bounds.cc.
References sheaf::any::disable_invariant_check(), sheaf::any::enable_invariant_check(), sheaf::poset_bounds::invariant(), sheaf::any::invariant_check(), is_ancestor_of(), is_attached(), sheaf::poset_bounds::lb_is_singleton(), and sheaf::poset_bounds::ub_is_singleton().
Referenced by attach_to_state(), detach_from_state(), member_member_poset_bounds(), and ~member_member_poset_bounds().
|
virtual |
Conformance test; true if other conforms to this.
Reimplemented from sheaf::poset_bounds.
Definition at line 165 of file member_member_poset_bounds.cc.
References lb_contains_member().
Referenced by invariant().
bool sheaf::member_member_poset_bounds::is_attached | ( | ) |
True if lb() and ub() are attached.
Definition at line 274 of file member_member_poset_bounds.cc.
References attach_to_state().
Referenced by attach_to_state(), detach_from_state(), invariant(), lb_contains_member(), lb_iterator(), member_member_poset_bounds(), ub_contains_member(), and ub_iterator().
|
virtual |
True if the lower bound contains the member with index xindex.
Definition at line 189 of file member_member_poset_bounds.cc.
References is_attached(), sheaf::poset_bounds::lb_id(), and lb_iterator().
Referenced by is_ancestor_of().
|
virtual |
An iterator for the members of the lower bound.
Definition at line 211 of file member_member_poset_bounds.cc.
References is_attached(), and ub_contains_member().
Referenced by lb_contains_member().
|
virtual |
True if the upper bound contains the member with index xindex.
Definition at line 231 of file member_member_poset_bounds.cc.
References is_attached(), sheaf::poset_bounds::ub_id(), and ub_iterator().
Referenced by lb_iterator().
|
virtual |
An iterator for the members of the upper bound.
Definition at line 254 of file member_member_poset_bounds.cc.
References is_attached().
Referenced by ub_contains_member().