21 #ifndef GF_ARRAY_REF_H 22 #define GF_ARRAY_REF_H 28 #ifndef DOXYGEN_SHOULD_SKIP_THIS 84 : m_data(values.data())
85 , m_size(values.size())
94 template<std::
size_t N>
96 : m_data(values.data())
97 , m_size(values.size())
108 template<std::
size_t N>
121 : m_data(values.size() == 0 ? nullptr : values.begin())
122 , m_size(values.size())
140 constexpr std::size_t
getSize() const noexcept {
160 constexpr
const T *
begin() const noexcept {
171 constexpr
const T *
end() const noexcept {
172 return m_data + m_size;
184 return m_data[index];
208 #ifndef DOXYGEN_SHOULD_SKIP_THIS 213 #endif // GF_ARRAY_REF_H constexpr const T * getData() const noexcept
Get a pointer to the elements.
Definition: ArrayRef.h:131
constexpr ArrayRef(std::nullptr_t)
Null constructor.
Definition: ArrayRef.h:60
ArrayRef(const std::array< T, N > &values)
Constructor from a std::array
Definition: ArrayRef.h:95
constexpr ArrayRef()
Default constructor.
Definition: ArrayRef.h:49
constexpr const T & operator[](std::size_t index) const
Get an element at a given index.
Definition: ArrayRef.h:183
ArrayRef(std::initializer_list< T > values)
Constructor from an initializer list.
Definition: ArrayRef.h:120
constexpr const T * end() const noexcept
Get an iterator past the last element.
Definition: ArrayRef.h:171
The namespace for gf classes.
Definition: Action.h:35
constexpr std::size_t getSize() const noexcept
Get the number of elements.
Definition: ArrayRef.h:140
A constant reference to an array and its size.
Definition: ArrayRef.h:42
ArrayRef(const std::vector< T > &values)
Constructor from a std::vector
Definition: ArrayRef.h:83
constexpr const T * begin() const noexcept
Get an iterator to the first element.
Definition: ArrayRef.h:160
constexpr bool isEmpty() const noexcept
Check if the array is empty.
Definition: ArrayRef.h:149
constexpr ArrayRef(const T(&data)[N])
Constructor from a static array.
Definition: ArrayRef.h:109
constexpr ArrayRef< T > array(const T *data, std::size_t size)
Create a constant reference to an array.
Definition: ArrayRef.h:203
constexpr ArrayRef(const T *data, std::size_t size)
Constructor from a pointer and a size.
Definition: ArrayRef.h:72