21 #include "SheafSystem/scoped_index.h" 23 #include "SheafSystem/poset_state_handle.h" 24 #include "SheafSystem/std_iomanip.h" 34 : _id_spaces(&xhost.member_id_spaces(false)),
35 _scope_id(xhost.member_id_spaces(false).index(xname)),
41 require(!xname.empty());
60 : _id_spaces(&xhost.member_id_spaces(false)),
61 _scope_id(xhost.member_id_spaces(false).index(xname)),
67 require(!xname.empty());
77 ensure(
pod() == xpod);
86 : _id_spaces(&xhost.member_id_spaces(false)),
87 _scope_id(xhost.member_id_spaces(false).index(xname))
92 require(!xname.empty());
97 _pod = _id_spaces->
pod(_scope_id, xother);
104 ensure((*
this) ==~ xother);
125 xos <<
" (" << xid.
scope_id() <<
", " << xid.
pod()<<
")";
154 result = xinclude_shallow ?
sizeof(xp) : 0;
171 unordered::hash<sheaf::scoped_index>::
bool is_valid() const
True if this is a valid id.
pod_type pod(const std::string &xname, pod_type xid) const
The pod index in the space with name xname equivalent to xid in the hub id space. ...
const pod_type & pod() const
The "plain old data" storage of this; the value in the external id space.
bool state_is_read_accessible() const
True if this is attached and if the state is accessible for read or access control is disabled...
A client handle for a general, abstract partially order set.
const index_space_family & member_id_spaces(bool xauto_access) const
Collection of member id spaces for this (const version).
const index_space_family & id_spaces() const
The id space family for this scope.
scoped_index()
Default constructor; creates an invalid instance.
pod_type scope_id() const
The index of the scope id space.
bool is_scoped() const
True if and only if scope() is attached.
An index within the external ("client") scope of a given id space.
SHEAF_DLL_SPEC size_t deep_size(const dof_descriptor_array &xp, bool xinclude_shallow=true)
The deep size of the referenced object of type dof_descriptor_array.
SHEAF_DLL_SPEC std::istream & operator>>(std::istream &is, dof_tuple_type &xdt)
Extract dof_tuple_type xdt from istream& is.
pod_index_type pod_type
The "plain old data" storage type for this.
SHEAF_DLL_SPEC std::ostream & operator<<(std::ostream &os, const dof_descriptor_array &p)
Insert dof_descriptor_array& p into ostream& os.
bool contains(pod_type xid) const
True, if this contains an id space with id xid.
bool invariant() const
Class invariant.
SHEAF_DLL_SPEC pod_index_type invalid_pod_index()
The invalid pod index value.
void put_pod(pod_type xpod)
Sets pod() to xpod.
pod_type hub_pod() const
The pod value of this mapped to the unglued hub id space.