21 #ifndef RAGGED_ARRAY_INDEX_SPACE_INTERVAL_H 22 #define RAGGED_ARRAY_INDEX_SPACE_INTERVAL_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 28 #ifndef FORWARDING_INDEX_SPACE_HANDLE_H 29 #include "SheafSystem/forwarding_index_space_handle.h" 32 #ifndef INDEX_SPACE_INTERVAL_H 33 #include "SheafSystem/index_space_interval.h" 37 #include "SheafSystem/list_pool.h" 40 #ifndef STD_UNORDERED_MAP_H 41 #include "SheafSystem/std_unordered_map.h" 44 #ifndef RAGGED_ARRAY_H 45 #include "SheafSystem/ragged_array.h" 51 class ragged_array_implicit_index_space_iterator;
52 class index_space_handle;
112 bool owns_hub_ids()
const;
165 virtual const std::string& class_name()
const;
179 static bool make_prototype();
229 virtual void remove(pod_type xlocal_id);
234 virtual size_type ct(pod_type xlocal_id)
const;
241 virtual pod_type begin(pod_type xlocal_id)
const;
248 virtual pod_type end(pod_type xlocal_id)
const;
256 virtual bool contains(pod_type xlocal_id, pod_type xid)
const;
262 virtual bool contains_unglued_hub(pod_type xlocal_id, pod_type xid)
const;
268 virtual bool contains(pod_type xlocal_id, pod_type xid, pod_type xhub_id)
const;
274 virtual pod_type pod(pod_type xlocal_id, pod_type xid)
const;
280 virtual pod_type unglued_hub_pod(pod_type xlocal_id, pod_type xid)
const;
285 virtual bool is_persistent(pod_type xlocal_id)
const;
305 virtual void new_product_structure(pod_type xlocal_id,
311 virtual void delete_product_structure(pod_type xlocal_id);
326 virtual bool has_product_structure(pod_type xlocal_id)
const;
417 virtual bool is_ancestor_of(
const any *other)
const;
422 virtual bool invariant()
const;
444 #endif // ifndef RAGGED_ARRAY_INDEX_SPACE_INTERVAL_H An abstract class that defines the product structure for an id space.
An abstract iterator over the ids of an id space.
The default name space; a poset which contains other posets as members.
An abstract handle to a space of alternate integer identifiers (aliases) for a subset of a hub set of...
Abstract base class with useful features for all objects.
bool _owns_hub_ids
True if this interval is responsible for the memory management of _hub_ids.
An implemenation of index_space_collection that adds an interface for the interval [begin()...
An immutable abstract state for a space of alternate integer identifiers (aliases) for a subset of th...
list_pool< ragged_array_implicit_index_space_iterator > _iterators
The iterator pool.
An implementation of index_space_interval for an interval of implicit id spaces in which the hub ids ...
list_pool< forwarding_index_space_handle > _handles
The handle pool.
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.
ragged_array_index_space_interval(const ragged_array_index_space_interval &xother)
Copy constructor; disabled.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
A collection of id space states. This is a virtual class with provides an interface for accessing the...
bool operator==(const singly_linked_list< T, Alloc > &lhs, const singly_linked_list< T, Alloc > &rhs)
Checks if the contents of lhs and rhs are equal, that is, whether lhs.size() == rhs.size() and each element in lhs compares equal with the element in rhs at the same position.
Namespace for the sheaves component of the sheaf system.
pod_type end() const
Ending space id of this interval in the id space family scope.
virtual bool contains(pod_type xlocal_id) const
True if this collection contains the id space with local id xlocal_id.
Factory and container for a family of id spaces.
pod_type begin() const
Beginning space id of this interval in the id space family scope.
A reallocated pool of objects of type T. Objects in the pool are either allocated or stored in a free...