21 #ifndef LIST_INDEX_SPACE_STATE_H 22 #define LIST_INDEX_SPACE_STATE_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 29 #include "SheafSystem/list_pool.h" 32 #ifndef GATHERED_INSERTION_INDEX_SPACE_STATE_H 33 #include "SheafSystem/gathered_insertion_index_space_state.h" 37 #include "SheafSystem/std_list.h" 43 class list_index_space_handle;
44 class list_index_space_state;
45 class list_index_space_iterator;
51 size_t deep_size(
const list_index_space_state& xn,
bool xinclude_shallow);
81 const std::string& xname,
92 const std::string& xname,
112 void reverse(
bool xupdate_extrema);
118 pod_type front()
const;
124 pod_type back()
const;
130 void push_front(pod_type xhub_id);
135 void replace_range_id(pod_type xold_range_id, pod_type xnew_range_id);
172 virtual void update_extrema();
177 virtual void reserve(
size_type xcapacity);
209 to_range_type& to_range();
217 const to_range_type& to_range()
const;
224 virtual void map_rep_push_back(pod_type xrange_id);
238 virtual size_type map_rep_remove_entry(pod_type xid,
bool xis_range_id);
249 virtual void map_rep_clear();
254 virtual void map_rep_gather();
270 to_range_type::iterator to_range_itr(pod_type xid,
bool xis_range_id);
276 to_range_type::const_iterator to_range_const_itr(pod_type xid,
bool xis_range_id)
const;
323 virtual bool contains(pod_type xid)
const;
328 virtual bool contains_unglued_hub(pod_type xid)
const;
334 virtual bool contains(pod_type xid, pod_type xhub_id)
const;
339 virtual pod_type pod(pod_type xid)
const;
344 virtual pod_type unglued_hub_pod(pod_type xid)
const;
368 static size_type handle_pool_deep_size();
413 static size_type iterator_pool_deep_size();
453 virtual const std::string& class_name()
const;
467 static bool make_prototype();
482 virtual bool is_ancestor_of(
const any *other)
const;
487 virtual bool invariant()
const;
503 #endif // ifndef LIST_INDEX_SPACE_STATE_H std::list< pod_type > to_range_type
The type of the domain id to range id map.
An abstract iterator over the ids of an id space.
An list implementation of class gathered_insertion_index_space_state. This representation is intended...
The default name space; a poset which contains other posets as members.
An map implementation of class scattered_insertion_index_space_handle. This representation is intende...
to_range_type _to_range
The representation of the domain id to range id map.
An abstract handle to a space of alternate integer identifiers (aliases) for a subset of a hub set of...
virtual void update_extrema()=0
Update the id extrema.
pod_type _capacity
The capacity of this map.
Abstract base class with useful features for all objects.
An immutable abstract state for a space of alternate integer identifiers (aliases) for a subset of th...
An iterator over an id space in which the equivalence between the ids in the space and the hub id spa...
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.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
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.
list_index_space_state(const list_index_space_state &xother)
Copy constructor; disabled.
Namespace for the sheaves component of the sheaf system.
Factory and container for a family of id spaces.
An implementation of class explicit_index_space_state that supports gathered insertion of new members...
A reallocated pool of objects of type T. Objects in the pool are either allocated or stored in a free...