11#include <util/containers/PArrayIterator.h>
12#include <util/containers/ConstPArrayIterator.h>
39 template <
typename Data,
int Capacity>
138 template <
typename Data,
int Capacity>
146 template<
typename Data,
int Capacity>
152 for (i = 0; i < other.
size_; ++i) {
153 ptrs_[i] = other.
ptrs_[i];
158 if (Capacity > size_) {
159 for (i = size_; i < Capacity; ++i) {
169 template <
typename Data,
int Capacity>
175 if (
this == &other)
return *
this;
178 if (Capacity < other.
size_) {
183 for (
int i = 0; i < other.
size_; ++i) {
189 if (Capacity > size_) {
190 for (
int i = size_; i < Capacity; ++i) {
201 template <
typename Data,
int Capacity>
208 template <
typename Data,
int Capacity>
215 template <
typename Data,
int Capacity>
222 template <
typename Data,
int Capacity>
226 iterator.
setCurrent(
const_cast<Data**
>(ptrs_));
227 iterator.
setEnd(
const_cast<Data**
>(ptrs_ + size_));
233 template <
typename Data,
int Capacity>
237 iterator.
setCurrent(
const_cast<Data**
>(ptrs_));
238 iterator.
setEnd(
const_cast<Data**
>(ptrs_ + size_));
247 template <
typename Data,
int Capacity>
261 template <
typename Data,
int Capacity>
274 template <
typename Data,
int Capacity>
277 if (size_ == Capacity) {
280 ptrs_[size_] = &data;
287 template <
typename Data,
int Capacity>
291 for (
int i=0; i < Capacity; ++i) {
Forward iterator for a PArray.
void setEnd(Data **ptr)
Set the value of the end pointer.
void setCurrent(Data **ptr)
Set the current pointer value.
Statically allocated pointer array.
Data & operator[](int i)
Get an element by reference (mimic C-array subscripting).
Data * ptrs_[Capacity]
Array of pointers to Data objects.
void clear()
Set logical size to zero and nullify all elements.
FPArray()
Default constructor.
int size_
Logical size of array (number of elements used).
void append(Data &data)
Append an element to the end of the array.
void begin(PArrayIterator< Data > &iterator)
Set an iterator to begin this container.
int capacity() const
Return physical capacity of array.
int size() const
Return logical size of this array.
FPArray< Data, Capacity > & operator=(FPArray< Data, Capacity > const &other)
Assignment, element by element.
Forward iterator for a PArray.
void setEnd(Data **ptr)
Set the value of the end pointer.
void setCurrent(Data **ptr)
Set the current pointer value.
File containing preprocessor macros for error handling.
#define UTIL_THROW(msg)
Macro for throwing an Exception, reporting function, file and line number.
Utility classes for scientific computation.