Go to the documentation of this file.
55 return NullObjectRef<UList<T>>();
62 return (i == size()-1 ? 0 : i+1);
69 return (i ? i-1 : size()-1);
76 return this->operator[](this->fcIndex(i));
83 return this->operator[](this->fcIndex(i));
90 return this->operator[](this->rcIndex(i));
97 return this->operator[](this->rcIndex(i));
104 if (start < 0 || (start && start >= size_))
108 <<
"start " << start <<
" out of range [0,"
118 if (size < 0 || size > size_)
121 <<
"size " << size <<
" out of range [0,"
142 <<
"size " << len <<
" is negative, out of range [0,"
146 this->checkStart(start);
147 this->checkSize(start + len);
153 this->checkSize(start);
164 <<
"attempt to access element " << i <<
" from zero sized list"
167 else if (i < 0 || i >= size_)
170 <<
"index " << i <<
" out of range [0,"
180 const label len = size();
187 const T& val = (*this)[0];
189 for (label i = 1; i < len; ++i)
191 if (val != (*
this)[i])
204 return this->operator[](0);
211 return this->operator[](0);
218 return this->operator[](this->size()-1);
225 return this->operator[](this->size()-1);
246 return reinterpret_cast<const char*
>(v_);
253 return reinterpret_cast<char*
>(v_);
260 return std::streamsize(size_)*
sizeof(
T);
267 return (this->
find(val,
pos) >= 0);
288 if (i >= 0 && i < size_)
321 return *
reinterpret_cast<const List<T>*
>(
this);
441 std::swap(size_, list.size_);
442 std::swap(v_, list.v_);
451 for (label i=0; i<
n/2; ++i)
const char * cdata_bytes() const noexcept
void reverse(UList< T > &list, const label n)
void Swap(DynamicList< T, SizeMinA > &a, DynamicList< T, SizeMinB > &b)
const T * cdata() const noexcept
label rcIndex(const label i) const noexcept
constexpr auto begin(C &c) -> decltype(c.begin())
constexpr UList() noexcept
void setAddressableSize(const label n) noexcept
void checkSize(const label size) const
char * data_bytes() noexcept
label fcIndex(const label i) const noexcept
void checkRange(const label start, const label len) const
void checkStart(const label start) const
const_iterator cend() const noexcept
const_reverse_iterator crend() const
bool empty() const noexcept
constexpr auto end(C &c) -> decltype(c.end())
label find(const ListType &input, const UnaryPredicate &pred, const label start=0)
errorManip< error > abort(error &err)
const T & fcValue(const label i) const
const_iterator cbegin() const noexcept
void shallowCopy(const UList< T > &list)
void swap(UList< T > &list)
#define FatalErrorInFunction
reverse_iterator rbegin()
A traits class, which is primarily used for primitives.
T & operator[](const label i)
label size() const noexcept
iterator begin() noexcept
bool found(const T &val, label pos=0) const
std::reverse_iterator< const_iterator > const_reverse_iterator
static const UList< T > & null()
std::reverse_iterator< iterator > reverse_iterator
void checkIndex(const label i) const
std::streamsize size_bytes() const noexcept
const T & rcValue(const label i) const
const_reverse_iterator crbegin() const
dimensionedScalar pos(const dimensionedScalar &ds)