| 
| constexpr reference  | operator[] (size_type pos) const noexcept | 
|   | Access element at pos  
  | 
|   | 
| 
constexpr reference  | front () const noexcept | 
|   | Access the first element. 
  | 
|   | 
| 
constexpr reference  | back () const noexcept | 
|   | Access the last element. 
  | 
|   | 
| 
constexpr pointer  | data () const noexcept | 
|   | Direct access to the underlying array. 
  | 
|   | 
| 
constexpr iterator  | begin () const noexcept | 
|   | Returns an iterator to the beginning. 
  | 
|   | 
| 
constexpr iterator  | end () const noexcept | 
|   | Returns an iterator to the end. 
  | 
|   | 
| 
constexpr reverse_iterator  | rbegin () const noexcept | 
|   | Returns a reverse iterator to the beginning. 
  | 
|   | 
| 
constexpr reverse_iterator  | rend () const noexcept | 
|   | Returns a reverse iterator to the end. 
  | 
|   | 
| constexpr static_array_ref< Byte, detail::remove_cv_t< Byte >, N, Tag >  | raw () const noexcept | 
|   | Returns static_array_ref<Byte, Byte, N, Tag>.  
  | 
|   | 
| constexpr std::size_t  | strlen () const noexcept | 
|   | Calculates string length from left to right.  
  | 
|   | 
| constexpr std::size_t  | strlen_r () const noexcept | 
|   | Calculates string length from right to left.  
  | 
|   | 
| template<typename T  = void, typename  = enable_if_writable_t<Byte, T>>  | 
| constexpr iterator  | assign_string (const char *str, const eos_null eos_mode=eos_null::all) const noexcept | 
|   | Assigns null-terminated string.  
  | 
|   | 
| template<typename R , typename  = enable_if_t<!std::is_const<Byte>::value && is_range<R>::value>>  | 
| constexpr iterator  | assign_string (R &&r, const eos_null eos_mode=eos_null::all) const | 
|   | Assigns string represented by a range.  
  | 
|   | 
| template<typename R , typename  = enable_if_t<!std::is_const<Byte>::value && is_range<R>::value>>  | 
| constexpr iterator  | assign_range (R &&r) const | 
|   | Assigns range.  
  | 
|   | 
| template<typename T  = void, typename  = enable_if_writable_t<Byte, T>>  | 
| constexpr void  | fill (const value_type value) const noexcept | 
|   | Assigns value to all elements.  
  | 
|   | 
| template<typename T  = void, typename  = enable_if_writable_t<Byte, T>>  | 
| constexpr iterator  | assign (size_type count, const value_type value) const noexcept | 
|   | Assigns value to first count elements.  
  | 
|   | 
| template<typename InputIt , typename  = enable_if_writable_t<Byte, InputIt>>  | 
| constexpr iterator  | assign (InputIt first, InputIt last) const | 
|   | Assigns elements from [first; last) range to first elements.  
  | 
|   | 
| template<typename T  = void, typename  = enable_if_writable_t<Byte, T>>  | 
| constexpr iterator  | assign (std::initializer_list< value_type > ilist) const noexcept | 
|   | Assigns initializer list to first elements.  
  | 
|   | 
| 
  | byte_range ()=default | 
|   | Initializes to nullptr 
  | 
|   | 
| 
constexpr  | byte_range (Byte *begin, Byte *end) noexcept | 
|   | Constructs from a pair of pointers. 
  | 
|   | 
| 
constexpr  | byte_range (Byte *ptr, const std::size_t size) noexcept | 
|   | Constructs from pointer and size. 
  | 
|   | 
| 
template<typename Byte2 , typename  = enable_if_convertible_t<Byte2, Byte>>  | 
| constexpr  | byte_range (const byte_range< Byte2 > &other) noexcept | 
|   | Copy constructor. Available if Byte2* is convertible to Byte* 
  | 
|   | 
template<typename Byte, typename Value, std::size_t N, typename Tag>
class sbepp::detail::static_array_ref< Byte, Value, N, Tag >
Represents reference to fixed-size array. 
The general precondition for most functions is that current buffer should be able to hold all elements 
- Template Parameters
 - 
  
    | Byte | byte type  | 
    | Value | array element type from schema  | 
    | N | array length  | 
    | Tag | type tag  |