45 #include <type_traits> 46 #include <initializer_list> 55 template<
class T,
unsigned Size>
class FixedList;
57 template<
class T,
unsigned Size>
60 template<
class T,
unsigned Size>
63 template<
class T,
unsigned Size>
64 Ostream& operator<<(Ostream&, const FixedList<T, Size>&);
66 template<
class T>
class UList;
69 template<
class LListBase,
class T>
class LList;
77 template<
class T,
unsigned Size>
82 Size && Size <= INT_MAX,
83 "Size must be positive (non-zero) and also fit as a signed value" 96 template<
class HashT=Hash<T>>
129 template<
class InputIterator>
133 inline FixedList(std::initializer_list<T>);
164 inline const T*
cdata()
const;
175 inline const T&
first()
const;
181 inline const T&
last()
const;
229 inline void operator=(std::initializer_list<T>);
262 inline iterator
begin();
265 inline iterator
end();
274 inline const_iterator
cbegin()
const;
277 inline const_iterator
cend()
const;
280 inline const_iterator
begin()
const;
283 inline const_iterator
end()
const;
292 inline reverse_iterator
rbegin();
295 inline reverse_iterator
rend();
304 inline const_reverse_iterator
crbegin()
const;
307 inline const_reverse_iterator
crend()
const;
310 inline const_reverse_iterator
rbegin()
const;
313 inline const_reverse_iterator
rend()
const;
325 inline bool empty()
const;
342 bool operator<(const FixedList<T, Size>&)
const;
348 bool operator<=(const FixedList<T, Size>&)
const;
357 friend Istream&
operator>> <
T, Size>
361 friend Ostream& operator<< <T, Size>
reverse_iterator rbegin()
Return reverse_iterator to begin reverse traversing the FixedList.
label difference_type
The type that can represent the difference between any two.
static const FixedList< T, Size > & null()
Return a null FixedList.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const_iterator cend() const
Return const_iterator to end traversing the constant FixedList.
const T & const_reference
Type that can be used for storing into.
A 1D vector of objects of type <T> with a fixed size <Size>.
const_reverse_iterator crbegin() const
Return const_reverse_iterator to begin reverse traversing FixedList.
Template class for non-intrusive linked lists.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
T & reference
Type that can be used for storing into.
bool operator>=(const FixedList< T, Size > &) const
Return true if !(a < b). Takes linear time.
friend Ostream & operator(Ostream &, const FixedList< T, Size > &)
Write FixedList to Ostream.
void checkIndex(const label i) const
Check index i is within valid range (0 ... size-1)
reverse_iterator rend()
Return reverse_iterator to end reverse traversing the FixedList.
const_reverse_iterator crend() const
Return const_reverse_iterator to end reverse traversing FixedList.
label size_type
The type that can represent the size of a FixedList.
bool operator!=(const FixedList< T, Size > &) const
The opposite of the equality operation. Takes linear time.
void operator=(const T v[Size])
Assignment to array operator. Takes linear time.
const T * const_iterator
Random access iterator for traversing FixedList.
T & operator[](const label)
Return element of FixedList.
void checkStart(const label start) const
Check start is within valid range (0 ... size-1)
Istream & operator>>(Istream &, directionInfo &)
void transfer(const FixedList< T, Size > &)
Copy (not transfer) the argument contents.
T & first()
Return the first element of the list.
bool operator==(const FixedList< T, Size > &) const
Equality operation on FixedLists of the same type.
T & last()
Return the last element of the list.
const T * const_reverse_iterator
Reverse iterator for reverse traversal of constant FixedList.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
label fcIndex(const label i) const
Return the forward circular index, i.e. the next index.
void resize(const label)
Dummy resize function.
T * iterator
Random access iterator for traversing FixedList.
void swap(FixedList< T, Size > &)
Swap two FixedLists of the same type in constant time.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
iterator end()
Return an iterator to end traversing the FixedList.
void checkSize(const label size) const
Check size is within valid range (0 ... size)
label size() const
Return the number of elements in the FixedList.
iterator begin()
Return an iterator to begin traversing the FixedList.
bool operator>(const FixedList< T, Size > &) const
Compare two FixedLists lexicographically. Takes linear time.
const_iterator cbegin() const
Return const_iterator to begin traversing the constant FixedList.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
label rcIndex(const label i) const
Return the reverse circular index, i.e. the previous index.
void writeEntry(Ostream &os, const HashTable< T, Key, Hash > &ht)
label max_size() const
Return size of the largest possible FixedList.
FixedList()
Null constructor.
bool empty() const
Return true if the FixedList is empty (ie, size() is zero)
T value_type
Type of values the FixedList contains.
autoPtr< FixedList< T, Size > > clone() const
Clone.
T * data()
Return a pointer to the first data element,.
void setSize(const label)
Dummy setSize function.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
T * reverse_iterator
Reverse iterator for reverse traversal of FixedList.
const T * cdata() const
Return a const pointer to the first data element,.