39 : dat(array), siz(length) {}
40 template<
typename ITER>
array_ref(ITER first, ITER last)
61 bool empty()
const {
return siz == 0; }
68 const T&
front()
const {
return (*
this)[0]; }
69 const T&
back()
const {
return (*
this)[siz - 1]; }
70 const T*
data()
const {
return dat; }
98 const T* dat =
nullptr;
T length(const vecN< N, T > &x)
vecN< N, T > min(const vecN< N, T > &x, const vecN< N, T > &y)
const_iterator begin() const
array_ref(const std::vector< T > &v)
void remove_suffix(size_type n)
array_ref(const array_ref &r)
const T & const_reference
array_ref & operator=(const array_ref &rhs)
This class implements a subset of the proposal for std::array_ref (proposed for the next c++ standard...
ptrdiff_t difference_type
array_ref< T > make_array_ref(const T *array, size_t length)
array_ref(const T(&a)[N])
std::iterator_traits< octet_iterator >::difference_type distance(octet_iterator first, octet_iterator last)
array_ref substr(size_type pos, size_type n=size_type(-1)) const
std::reverse_iterator< const_iterator > const_reverse_iterator
void remove_prefix(size_type n)
array_ref(ITER first, ITER last)
const_reverse_iterator reverse_iterator
const_iterator end() const
const T & operator[](size_t i) const
const_reverse_iterator rend() const
array_ref(const T *array, size_t length)
const_reverse_iterator rbegin() const