23 #ifndef SHEAF_DLL_SPEC_H 24 #include "SheafSystem/sheaf_dll_spec.h" 28 #include "SheafSystem/pod_types.h" 31 #ifndef STD_IOSTREAM_H 32 #include "SheafSystem/std_iostream.h" 81 static float invalid();
82 static void initialize(
float* xbegin,
float* xend);
92 static double invalid();
93 static void initialize(
double* xbegin,
double* xend);
101 template <
typename T>
121 template <
typename T,
typename S = un_block_initialization_policy<T> >
176 pointer_type base()
const;
181 size_type ct()
const;
186 bool invariant()
const;
191 reference_type item(index_type xindex)
const;
196 reference_type operator [] (index_type xindex)
const;
202 index_type ub()
const;
214 auto_block(index_type xub, size_type xct,
const T *xitems);
235 void force_item(index_type xindex, const_reference_type xitem);
241 void reserve(index_type xub);
246 void set_ct(size_type xct);
252 void set_item(index_type xindex, const_reference_type xitem);
257 void assign(const_reference_type xitem);
262 void assign(index_type xbegin, index_type xend, const_reference_type xitem);
267 reference_type back()
const;
272 void push_back(const_reference_type item);
297 void initialize(index_type xbegin, index_type xend);
327 template <
typename T,
typename S>
333 template <
typename T,
typename S>
334 std::ostream& operator << (std::ostream& xos, const auto_block<T, S>& xblk);
340 template <
typename T,
typename S>
349 template <
typename T,
typename S>
354 #endif // AUTO_BLOCK_H An auto_block value initialization policy that leaves the values uninitialized.
const T & const_reference_type
A type that behaves as a const reference to the container's value type.
unsigned long int size_type
An unsigned integral type used to represent sizes and capacities.
A contiguously allocated array of items of type T with size information and automatic resizing...
T * pointer_type
A type that behaves as a pointer to the container's value type.
S initialization_policy
The value initialization policy.
SHEAF_DLL_SPEC void assign(sec_vd &x0, const sec_vd &x1, bool xauto_access)
Assignment to another section; makes x0 have the same value as x1 on the meet of their bases...
A auto_block initialization policy that initializes the values to zero.
const T * const_pointer_type
A type that behaves as a const pointer to the container's value type.
A auto_block initialization policy that initializes the values to invalid.
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.
signed long int difference_type
A signed integral type used to represent the difference of two indices or iterators.
size_type _ct
The number of items currently stored.
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.
index_type _ub
The index upper bound.
sheaf::pod_index_type index_type
The containers index type.
int_type pod_index_type
The plain old data index type.
Namespace for the sheaves component of the sheaf system.
T value_type
The type of value stored in the container.
pointer_type _base
Start of storage for this.
T & reference_type
A type that behaves as a reference to the container's value type.
static void initialize(T *xbegin, T *xend)
Initializes the range [xbegin, xend).