20 #ifndef NAMESPACE_RELATIVE_MEMBER_INDEX_H 21 #define NAMESPACE_RELATIVE_MEMBER_INDEX_H 23 #ifndef SHEAF_DLL_SPEC_H 24 #include "SheafSystem/sheaf_dll_spec.h" 27 #ifndef ASSERT_CONTRACT_H 28 #include "SheafSystem/assert_contract.h" 31 #ifndef SCOPED_INDEX_H 32 #include "SheafSystem/scoped_index.h" 70 : poset_id(xid_space, xpod.poset_id),
71 member_id(xid_space, xpod.member_id)
75 ensure((pod() == xpod) || !
is_valid());
107 ensure(result == ((poset_id == xother.
poset_id) && (member_id == xother.
member_id)));
180 inline pod_type
pod()
const 183 result.poset_id = poset_id.
pod();
184 result.member_id = member_id.
pod();
199 poset_id.
put_pod(xpod.poset_id);
200 member_id.
put_pod(xpod.member_id);
204 ensure(pod() == xpod || !
is_valid());
236 #endif // ifndef NAMESPACE_RELATIVE_MEMBER_INDEX_H bool operator==(const namespace_relative_member_index &xother) const
Equality operator.
Index for identifying a poset member relative to a given name space.
bool is_valid() const
True if this is a valid id.
const pod_type & pod() const
The "plain old data" storage of this; the value in the external id space.
scoped_index poset_id
The index of the poset relative to the namespace.
An abstract handle to a space of alternate integer identifiers (aliases) for a subset of a hub set of...
void invalidate()
Make this id invalid.
scoped_index member_id
The index of the member relative to the poset.
namespace_relative_member_index(const index_space_handle &xid_space, const pod_type &xpod)
Constructor from pod_type.
pod_type pod() const
The "plain old data" storage of this.
static const namespace_relative_member_index & INVALID()
The invalid id.
An index within the external ("client") scope of a given id space.
bool is_valid() const
True if this is a valid id.
POD type for namespace_relative_member_index.
void put_pod(pod_type xpod)
Sets pod() to xpod.
SHEAF_DLL_SPEC std::istream & operator>>(std::istream &is, dof_tuple_type &xdt)
Extract dof_tuple_type xdt from istream& is.
SHEAF_DLL_SPEC std::ostream & operator<<(std::ostream &os, const dof_descriptor_array &p)
Insert dof_descriptor_array& p into ostream& os.
Namespace for the sheaves component of the sheaf system.
namespace_relative_member_index()
Default constructor.
namespace_relative_member_index_pod_type pod_type
The POD (plain old data) type associated this.
SHEAF_DLL_SPEC bool is_valid(pod_index_type xpod_index)
True if an only if xpod_index is valid.
void put_pod(pod_type xpod)
Sets pod() to xpod.
void invalidate()
Make this invalid.