21 #ifndef GF_ARRAY_REF_H 22 #define GF_ARRAY_REF_H 28 #ifndef DOXYGEN_SHOULD_SKIP_THIS 87 : m_data(values.data())
88 , m_size(values.size())
98 template<std::
size_t N>
100 : m_data(values.data())
101 , m_size(values.size())
113 template<std::
size_t N>
127 : m_data(values.size() == 0 ? nullptr : values.begin())
128 , m_size(values.size())
147 constexpr std::size_t
getSize() const noexcept {
167 constexpr
const T *
begin() const noexcept {
178 constexpr
const T *
end() const noexcept {
179 return m_data + m_size;
191 return m_data[index];
200 #ifndef DOXYGEN_SHOULD_SKIP_THIS 205 #endif // GF_ARRAY_REF_H constexpr const T * getData() const noexcept
Get a pointer to the elements.
Definition: ArrayRef.h:138
constexpr ArrayRef(std::nullptr_t)
Null constructor.
Definition: ArrayRef.h:61
ArrayRef(const std::array< T, N > &values)
Constructor from a std::array
Definition: ArrayRef.h:99
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:190
ArrayRef(std::initializer_list< T > values)
Constructor from an initializer list.
Definition: ArrayRef.h:126
constexpr const T * end() const noexcept
Get an iterator past the last element.
Definition: ArrayRef.h:178
The namespace for gf classes.
Definition: Action.h:35
constexpr std::size_t getSize() const noexcept
Get the number of elements.
Definition: ArrayRef.h:147
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:86
constexpr const T * begin() const noexcept
Get an iterator to the first element.
Definition: ArrayRef.h:167
constexpr bool isEmpty() const noexcept
Check if the array is empty.
Definition: ArrayRef.h:156
constexpr ArrayRef(const T(&data)[N])
Constructor from a static array.
Definition: ArrayRef.h:114
constexpr ArrayRef(const T *data, std::size_t size)
Constructor from a pointer and a size.
Definition: ArrayRef.h:74