21 #ifndef GF_ARRAY_REF_H
22 #define GF_ARRAY_REF_H
28 #ifndef DOXYGEN_SHOULD_SKIP_THIS
62 constexpr ArrayRef(
const T *data, std::size_t size)
75 : m_data(values.data())
76 , m_size(values.size())
86 template<std::size_t N>
88 : m_data(values.data())
89 , m_size(values.size())
101 template<std::size_t N>
115 : m_data(values.size() == 0 ?
nullptr : values.begin())
116 , m_size(values.size())
135 constexpr std::size_t
getSize()
const noexcept {
146 constexpr const T *
begin()
const noexcept {
157 constexpr const T *
end()
const noexcept {
158 return m_data + m_size;
167 #ifndef DOXYGEN_SHOULD_SKIP_THIS
constexpr const T * getData() const noexcept
Get a pointer to the elements.
Definition: ArrayRef.h:126
ArrayRef(const std::array< T, N > &values)
Constructor from a std::array
Definition: ArrayRef.h:87
constexpr ArrayRef()
Default constructor.
Definition: ArrayRef.h:49
ArrayRef(std::initializer_list< T > values)
Constructor from an initializer list.
Definition: ArrayRef.h:114
constexpr const T * end() const noexcept
Get an iterator past the last element.
Definition: ArrayRef.h:157
The namespace for gf classes.
Definition: Action.h:34
constexpr std::size_t getSize() const noexcept
Get the number of elements.
Definition: ArrayRef.h:135
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:74
constexpr const T * begin() const noexcept
Get an iterator to the first element.
Definition: ArrayRef.h:146
constexpr ArrayRef(const T(&data)[N])
Constructor from a static array.
Definition: ArrayRef.h:102
constexpr ArrayRef(const T *data, std::size_t size)
Constructor from a pointer and a size.
Definition: ArrayRef.h:62