#include <fixed_width_binary_reference.hpp>
|
constexpr | fixed_width_binary_reference (L *layout, size_type index) |
| Constructs a binary reference for the given layout and index.
|
|
constexpr | fixed_width_binary_reference (const fixed_width_binary_reference &) noexcept=default |
|
constexpr | fixed_width_binary_reference (fixed_width_binary_reference &&) noexcept=default |
|
template<std::ranges::sized_range T>
requires mpl::convertible_ranges<T, typename L::inner_value_type> |
constexpr self_type & | operator= (T &&rhs) |
| Assignment from a sized range of binary data.
|
|
constexpr size_type | size () const |
| Gets the size of the binary element in bytes.
|
|
constexpr iterator | begin () |
| Gets mutable iterator to the beginning of binary data.
|
|
constexpr iterator | end () |
| Gets mutable iterator to the end of binary data.
|
|
constexpr const_iterator | begin () const |
| Gets const iterator to the beginning of binary data.
|
|
constexpr const_iterator | end () const |
| Gets const iterator to the end of binary data.
|
|
constexpr const_iterator | cbegin () const |
| Gets const iterator to the beginning of binary data.
|
|
constexpr const_iterator | cend () const |
| Gets const iterator to the end of binary data.
|
|
template<std::ranges::input_range T>
requires mpl::convertible_ranges<T, typename L::inner_value_type> |
constexpr bool | operator== (const T &rhs) const |
| Equality comparison with another range of binary data.
|
|
template<std::ranges::input_range T>
requires mpl::convertible_ranges<T, typename L::inner_value_type> |
constexpr auto | operator<=> (const T &rhs) const |
| Three-way comparison with another range of binary data.
|
|
template<std::ranges::sized_range T>
requires mpl::convertible_ranges<T, typename L::inner_value_type> |
constexpr auto | operator= (T &&rhs) -> self_type & |
|
◆ const_iterator
◆ const_reference
◆ difference_type
◆ iterator
◆ reference
◆ self_type
◆ size_type
◆ value_type
◆ fixed_width_binary_reference() [1/3]
◆ fixed_width_binary_reference() [2/3]
◆ fixed_width_binary_reference() [3/3]
◆ begin() [1/2]
◆ begin() [2/2]
Gets const iterator to the beginning of binary data.
- Returns
- Const iterator pointing to the first byte of the element
- Postcondition
- Iterator is valid for reading binary data
-
Equivalent to cbegin()
Definition at line 313 of file fixed_width_binary_reference.hpp.
◆ cbegin()
◆ cend()
◆ end() [1/2]
◆ end() [2/2]
Gets const iterator to the end of binary data.
- Returns
- Const iterator pointing past the last byte of the element
- Postcondition
- Iterator marks the end of the binary data range
-
Equivalent to cend()
Definition at line 319 of file fixed_width_binary_reference.hpp.
◆ operator<=>()
template<class L>
requires mpl::convertible_ranges<T, typename L::inner_value_type>
template<std::ranges::input_range T>
requires mpl::convertible_ranges<T, typename L::inner_value_type>
◆ operator=() [1/2]
template<class L>
template<std::ranges::sized_range T>
requires mpl::convertible_ranges<T, typename L::inner_value_type>
Assignment from a sized range of binary data.
Assigns new binary data to the referenced element. The source range must have exactly the same size as the fixed width of this binary type.
- Template Parameters
-
T | Type of the source range |
- Parameters
-
rhs | Source range to assign from |
- Returns
- Reference to this object
- Precondition
- T must be a sized range convertible to L::inner_value_type
-
rhs.size() must equal the fixed element size
-
Layout must remain valid during assignment
-
Index must be within layout bounds
- Postcondition
- Underlying layout element is assigned the data from rhs
-
Layout buffers are updated to reflect changes
- Note
- Internal assertion: SPARROW_ASSERT_TRUE(p_layout->m_element_size == std::ranges::size(rhs))
- Examples
- /home/runner/work/sparrow/sparrow/include/sparrow/layout/fixed_width_binary_reference.hpp.
◆ operator=() [2/2]
template<class L>
template<std::ranges::sized_range T>
requires mpl::convertible_ranges<T, typename L::inner_value_type>
◆ operator==()
template<class L>
requires mpl::convertible_ranges<T, typename L::inner_value_type>
template<std::ranges::input_range T>
requires mpl::convertible_ranges<T, typename L::inner_value_type>
◆ size()
The documentation for this class was generated from the following file: