23 #ifndef SHEAF_DLL_SPEC_H 24 #include "SheafSystem/sheaf_dll_spec.h" 28 #include "SheafSystem/block.h" 31 #ifndef INDEX_ITERATOR_H 32 #include "SheafSystem/index_iterator.h" 35 #ifndef STD_IOSTREAM_H 36 #include "SheafSystem/std_iostream.h" 39 #ifndef SINGLY_LINKED_LIST_H 40 #include "SheafSystem/singly_linked_list.h" 43 #ifndef SINGLY_LINKED_LIST_H 44 #include "SheafSystem/singly_linked_list.h" 54 template <
class T,
int EXTENSION_FACTOR>
56 template <
class T,
int EXTENSION_FACTOR>
68 template <
typename T,
int EXTENSION_FACTOR=2>
71 friend size_t deep_size<T, EXTENSION_FACTOR>
188 void print(std::ostream &out)
const;
252 template <
typename T,
int EXTENSION_FACTOR>
258 #endif // ifndef POOL_H int free_ct() const
The size of free list.
index_iterator allocated_iterator() const
An iterator over allocated items in the pool.
T & reference_type
A type that behaves as a reference to the container's value type.
bool is_allocated(pod_index_type xindex) const
True if xindex is allocated.
bool invariant() const
Class invariant.
pod_index_type difference_type
A signed integral type used to represent the difference of two indices or iterators.
unsigned long int size_type
An unsigned integral type used to represent sizes and capacities.
T * pointer_type
A type that behaves as a pointer to the container's value type.
A map from Zn (the integers mod n) to bools. A characteristic function used to represent subsets of Z...
T value_type
The container's value type.
void deallocate(pod_index_type xindex)
Deallocate item at xindex.
int allocated_ct() const
The size of allocated list.
pod_index_type index_ub() const
The upper bound on the index for members of the pool.
A reallocatable pool of objects of type T. Objects in the pool are either "allocated" or linked toget...
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.
const T * const_pointer_type
A type that behaves as a const pointer to the container's value type.
const T & const_reference_type
A type that behaves as a const reference to the container's value type.
Iterates over the subset of Zn defined by the characteristic function host().
int_type pod_index_type
The plain old data index type.
pod_index_type index_type
The containers index type.
void print() const
Prints the data members of this on cout. Intended for use debugging.
T & item(pod_index_type xindex)
A pointer to the pool item at xindex.
Namespace for the sheaves component of the sheaf system.
bool index_in_bounds(pod_index_type xindex) const
True if xindex is in bounds.
pool(pod_index_type xub)
Creates an instance with xub upper bound.
pod_index_type free_list() const
The head of the free list.
T & operator[](pod_index_type xindex)
A reference to the pool item at xindex.
pod_index_type allocate()
Allocate next available index from free list.
friend size_t deep_size(const pool< T, EXTENSION_FACTOR > &xpool, bool xinclude_shallow)
The deep size of the referenced object of type pool<T, int>.