21 #ifndef NAMESPACE_POSET_IMPL_H 22 #define NAMESPACE_POSET_IMPL_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 28 #ifndef NAMESPACE_POSET_H 29 #include "SheafSystem/namespace_poset.h" 32 #ifndef ARRAY_POSET_DOF_MAP_H 33 #include "SheafSystem/array_poset_dof_map.h" 36 #ifndef ASSERT_CONTRACT_H 37 #include "SheafSystem/assert_contract.h" 40 #ifndef NAMESPACE_POSET_MEMBER_H 41 #include "SheafSystem/namespace_poset_member.h" 45 #include "SheafSystem/poset_path.h" 116 P& result = member_poset<P>(xid.
hub_pod(),
false);
133 require(contains_poset<P>(xpath, xauto_access));
137 P& result =
dynamic_cast<P&
>(
member_poset(xpath, xauto_access));
176 result = (
dynamic_cast<P*
>(&
member_poset(xhub_id, xauto_access)) != 0);
207 return contains_poset<P>(xid.
hub_pod(), xauto_access);
224 result = (
dynamic_cast<P*
>(&
member_poset(xpath, xauto_access)) != 0);
247 result = (
dynamic_cast<P*
>(&
member_poset(xpath, xauto_access)) != 0);
271 contains_path<P>(xpath, xauto_access) &&
294 result = !
contains_path(xpath, xauto_access) || contains_path<P>(xpath, xauto_access);
317 contains_path<P>(xpath, xauto_access) &&
344 P* lhost =
dynamic_cast<P*
>(&
member_poset(xpath, xauto_access));
345 result = (lhost != 0) && lhost->state_is_auto_read_accessible(xauto_access);
372 P* lhost =
dynamic_cast<P*
>(&
member_poset(xpath, xauto_access));
373 result = (lhost != 0) && lhost->state_is_auto_read_write_accessible(xauto_access);
465 #endif // ifndef NAMESPACE_POSET_IMPL_H bool state_is_auto_read_write_accessible(bool xauto_access) const
True if state is auto accessible for read and write, that is, if the state is already accessible for ...
bool path_is_auto_read_write_available(const poset_path &xpath, bool xauto_access) const
True if the state referred to xpath does not exist or exists and is auto read-write accessible...
bool state_is_read_accessible() const
True if this is attached and if the state is accessible for read or access control is disabled...
bool path_is_auto_read_accessible(const poset_path &xpath, bool xauto_access) const
True if the state referred to xpath exists and is auto read accessible.
pod_index_type member_dof_tuple_id(pod_index_type xmbr_hub_id, bool xauto_access) const
The dof tuple hub id of the member with hub id xmbr_hub_id.
bool state_is_auto_read_accessible(bool xauto_access) const
True if the state is auto accessible for read, that is, if the state is already accessible for read o...
A path defined by a poset name and a member name separated by a forward slash ('/'). For example: "cell_definitions/triangle".
poset_state_handle * poset_pointer() const
The pointer to the poset associated with this namespace member.
poset_state_handle & member_poset(pod_index_type xhub_id, bool xauto_access=true) const
The poset_state_handle object referred to by hub id xhub_id.
bool path_is_available(const poset_path &xpath, bool xauto_access) const
True if the state referred to xpath does not exist or exists and conforms to poset type P...
virtual namespace_poset_dof_map & row_dof_map(pod_index_type xtuple_hub_id, bool xrequire_write_access=false) const
The map from row dof client_ids to row dof values for dof tuple hub id xtuple_hub_id.
An index within the external ("client") scope of a given id space.
virtual void get_read_access() const
Get read access to the state associated with this.
bool contains_path(const poset_path &xpath, bool xauto_access=true) const
True if this contains the poset or poset member specified by xpath.
virtual bool contains_member(pod_index_type xmbr_hub_id, bool xauto_access=true) const
True if some version of this poset contains poset member with hub id xmbr_hub_id. ...
bool contains_poset(pod_index_type xhub_id, bool xauto_access=true) const
True if this contains a poset with hub id xhub_id..
bool path_is_auto_read_available(const poset_path &xpath, bool xauto_access) const
True if the state referred to xpath does not exist or exists and is auto read accessible.
bool path_is_auto_read_write_accessible(const poset_path &xpath, bool xauto_access) const
True if the state referred to xpath exists and is auto read-write accessible.
int_type pod_index_type
The plain old data index type.
virtual bool is_jim(pod_index_type xmbr_hub_id, bool xin_current_version=true) const
True if the member with hub id xmbr_hub_id is a jim in the current version (xin_current_version == tr...
A map from schema poset member ids to dof values for namespace_poset members.
virtual void release_access(bool xall=false) const
Release access. If xall is true, release all levels of access. Otherwise, release one level of access...
pod_type hub_pod() const
The pod value of this mapped to the unglued hub id space.