|
| | primitive_data_access (arrow_proxy &proxy, size_t data_buffer_index) |
| | Constructor for primitive_data_access.
|
| |
| | primitive_data_access (const primitive_data_access &)=delete |
| |
| primitive_data_access & | operator= (const primitive_data_access &)=delete |
| |
| | primitive_data_access (primitive_data_access &&)=delete |
| |
| primitive_data_access & | operator= (primitive_data_access &&)=delete |
| |
| constexpr inner_pointer | data () |
| |
| constexpr inner_const_pointer | data () const |
| |
| constexpr inner_reference | value (size_t i) |
| |
| constexpr inner_const_reference | value (size_t i) const |
| |
| constexpr value_iterator | value_begin () |
| |
| constexpr value_iterator | value_end () |
| |
| constexpr const_value_iterator | value_cbegin () const |
| |
| constexpr const_value_iterator | value_cend () const |
| |
| constexpr void | resize_values (size_t new_length, const T2 &value) |
| |
| constexpr value_iterator | insert_value (const_value_iterator pos, T2 value, size_t count) |
| |
| constexpr value_iterator | insert_value (size_t idx, T2 value, size_t count) |
| |
| template<mpl::iterator_of_type< T2 > InputIt> |
| constexpr value_iterator | insert_values (const_value_iterator pos, InputIt first, InputIt last) |
| |
| template<mpl::iterator_of_type< T2 > InputIt> |
| constexpr value_iterator | insert_values (size_t idx, InputIt first, InputIt last) |
| |
| constexpr value_iterator | erase_values (const_value_iterator pos, size_t count) |
| |
| constexpr value_iterator | erase_values (size_t idx, size_t count) |
| |
| constexpr void | reset_proxy (arrow_proxy &proxy) |
| |
| template<mpl::iterator_of_type< T2 > InputIt> |
| constexpr auto | insert_values (const_value_iterator pos, InputIt first, InputIt last) -> value_iterator |
| |
| template<mpl::iterator_of_type< T2 > InputIt> |
| constexpr auto | insert_values (size_t idx, InputIt first, InputIt last) -> value_iterator |
| |
template<trivial_copyable_type T, trivial_copyable_type T2 = T>
class sparrow::details::primitive_data_access< T, T2 >
Provides access to primitive data stored in Arrow format buffers.
This class template manages access to primitive data types stored in an Arrow proxy's data buffer. It provides a type-safe interface for accessing, modifying, and iterating over the underlying buffer data.
The class is designed to be used as a private member of array classes and enforces strict ownership semantics by deleting copy and move operations. This ensures that array classes explicitly manage their Arrow proxy relationships through constructor calls and reset_proxy() method.
- Template Parameters
-
| T | The outer value type (trivial copyable type) |
| T2 | The inner value type stored in the buffer (trivial copyable type, defaults to T) |
- Note
- This class holds a pointer to an arrow_proxy and is not copyable or movable. Array classes using this must explicitly call the constructor with an arrow_proxy or use reset_proxy() for assignment operations.
Key features:
- Direct access to underlying buffer data via data() methods
- Element access through value() methods with bounds checking capabilities
- Iterator support for range-based operations
- Buffer manipulation operations (resize, insert, erase)
- Static factory methods for buffer creation
- See also
- arrow_proxy
-
pointer_iterator
-
buffer_adaptor
Definition at line 63 of file primitive_data_access.hpp.