Template Class Storage#
Defined in File storage.hpp
Class Documentation#
-
template<typename Scalar_>
class Storage# Public Types
-
using SizeType = size_t#
-
using DifferenceType = ptrdiff_t#
-
using Iterator = RawPointer#
-
using ConstIterator = ConstRawPointer#
-
using ConstReverseIterator = std::reverse_iterator<ConstIterator>#
Public Functions
-
Storage() = default#
Default constructor.
-
explicit Storage(SizeType size)#
Create a Storage object with
size
elements- Parameters
size – Number of elements to allocate
-
Storage(SizeType size, ConstReference value)#
Create a Storage object with
size
elements, each initialized tovalue
.- Parameters
size – Number of elements to allocate
value – Value to initialize each element to
-
Storage(const Storage &other)#
Create a Storage object from another Storage object. Additionally a custom allocator can be used. The data is NOT copied — it is referenced by the new Storage object. For a deep copy, use the
copy()
method.- Parameters
other – Storage object to copy
-
Storage(Storage &&other) noexcept#
Move a Storage object into this object.
- Parameters
other – Storage object to move
-
template<typename V>
Storage(const std::initializer_list<V> &list)# Create a Storage object from an std::initializer_list
- Template Parameters
V – Type of the elements in the initializer list
- Parameters
list – Initializer list to copy
alloc – Allocator to use
-
template<typename V>
explicit Storage(const std::vector<V> &vec)# Create a Storage object from a std::vector
- Template Parameters
V – Type of the elements in the vector
- Parameters
vec – Vector to copy
-
Storage &operator=(const Storage &other)#
Assignment operator for a Storage object
- Parameters
other – Storage object to copy
- Returns
*this
- Storage & operator= (Storage &&other) LIBRAPID_RELEASE_NOEXCEPT
Move assignment operator for a Storage object
- Parameters
other – Storage object to move
- Returns
*this
-
void set(const Storage &other)#
Set this storage object to reference the same data as
other
.- Parameters
other – Storage object to reference
-
Storage copy() const#
Create a deep copy of this Storage object.
- Returns
Deep copy of this Storage object
-
void resize(SizeType newSize)#
Resize a Storage object to
size
elements. Existing elements are preserved.- Parameters
size – New size of the Storage object
-
void resize(SizeType newSize, int)#
Resize a Storage object to
size
elements. Existing elements are not preserved- Parameters
size – New size of the Storage object
-
ConstReference operator[](SizeType index) const#
Const access to the element at index
index
- Parameters
index – Index of the element to access
- Returns
Const reference to the element at index
index
-
Reference operator[](SizeType index)#
Access to the element at index
index
- Parameters
index – Index of the element to access
- Returns
Reference to the element at index
index
-
RawPointer begin() noexcept#
-
RawPointer end() noexcept#
-
ConstIterator begin() const noexcept#
-
ConstIterator end() const noexcept#
-
ConstIterator cbegin() const noexcept#
-
ConstIterator cend() const noexcept#
-
ReverseIterator rbegin() noexcept#
-
ReverseIterator rend() noexcept#
-
ConstReverseIterator rbegin() const noexcept#
-
ConstReverseIterator rend() const noexcept#
-
ConstReverseIterator crbegin() const noexcept#
-
ConstReverseIterator crend() const noexcept#
-
using SizeType = size_t#