|
sparrow 2.4.0
C++20 idiomatic APIs for the Apache Arrow Columnar Format
|
Array implementation for storing timestamp values with timezone information. More...
#include <timestamp_array.hpp>
Public Member Functions | |
| timestamp_array (arrow_proxy) | |
| Constructs timestamp array from Arrow proxy. | |
| template<class... Args> requires (mpl::excludes_copy_and_move_ctor_v<timestamp_array, Args...>) | |
| constexpr | timestamp_array (Args &&... args) |
| Generic constructor for creating timestamp arrays from various inputs. | |
| template<input_metadata_container METADATA_RANGE = std::vector<metadata_pair>> | |
| constexpr | timestamp_array (const date::time_zone *timezone, std::initializer_list< inner_value_type > init, std::optional< std::string_view > name=std::nullopt, std::optional< METADATA_RANGE > metadata=std::nullopt) |
| Constructs timestamp array from initializer list. | |
| constexpr | timestamp_array (const timestamp_array &rhs) |
| Copy constructor. | |
| constexpr timestamp_array & | operator= (const timestamp_array &rhs) |
| Copy assignment operator. | |
| constexpr | timestamp_array (timestamp_array &&rhs) noexcept |
| Move constructor. | |
| constexpr timestamp_array & | operator= (timestamp_array &&rhs) noexcept |
| Move assignment operator. | |
| Public Member Functions inherited from sparrow::array_bitmap_base_impl< D, true > | |
| constexpr auto | insert_bitmap (const_bitmap_iterator pos, InputIt first, InputIt last) -> bitmap_iterator is_mutable |
Friends | |
| class | timestamp_reference< self_type > |
Additional Inherited Members | |
| Protected Member Functions inherited from sparrow::array_bitmap_base_impl< D, true > | |
| array_bitmap_base_impl (arrow_proxy proxy) | |
| Constructs array bitmap base from Arrow proxy. | |
| constexpr | array_bitmap_base_impl (const array_bitmap_base_impl &) |
| Copy constructor. | |
| constexpr array_bitmap_base_impl & | operator= (const array_bitmap_base_impl &) |
| Copy assignment operator. | |
| constexpr | array_bitmap_base_impl (array_bitmap_base_impl &&) noexcept=default |
| constexpr array_bitmap_base_impl & | operator= (array_bitmap_base_impl &&) noexcept=default |
| constexpr bitmap_type & | get_bitmap () |
| Gets mutable reference to the validity bitmap. | |
| constexpr const const_bitmap_type & | get_bitmap () const |
| Gets const reference to the validity bitmap. | |
| constexpr void | resize_bitmap (size_type new_length, bool value) |
| Resizes the validity bitmap to accommodate new array length. | |
| constexpr bitmap_iterator | insert_bitmap (const_bitmap_iterator pos, bool value, size_type count) |
| Inserts validity bits at specified position. | |
| constexpr bitmap_iterator | insert_bitmap (const_bitmap_iterator pos, InputIt first, InputIt last) |
| Inserts range of validity bits at specified position. | |
| constexpr bitmap_iterator | erase_bitmap (const_bitmap_iterator pos, size_type count) |
| Erases validity bits starting at specified position. | |
Array implementation for storing timestamp values with timezone information.
The timestamp_array provides efficient storage for datetime values with precise duration types and timezone awareness. It stores timestamps as duration values since the Unix epoch while maintaining timezone information for proper interpretation and conversion.
Key features:
The array internally stores:
Supported timestamp types:
| T | The timestamp type with specific duration precision |
Definition at line 208 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::base_type = mutable_array_bitmap_base<self_type> |
Definition at line 213 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::bitmap_const_reference = typename base_type::bitmap_const_reference |
Definition at line 222 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::bitmap_iterator = typename base_type::bitmap_iterator |
Definition at line 223 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::bitmap_range = typename base_type::bitmap_range |
Definition at line 225 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::bitmap_reference = typename base_type::bitmap_reference |
Definition at line 221 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::bitmap_type = typename base_type::bitmap_type |
Definition at line 220 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::buffer_inner_const_value_iterator = pointer_iterator<const buffer_inner_value_type*> |
Definition at line 248 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::buffer_inner_value_iterator = pointer_iterator<buffer_inner_value_type*> |
Definition at line 247 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::buffer_inner_value_type = inner_value_type_duration::rep |
Definition at line 246 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::const_bitmap_iterator = typename base_type::const_bitmap_iterator |
Definition at line 224 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::const_bitmap_range = typename base_type::const_bitmap_range |
Definition at line 226 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::const_functor_type = typename inner_types::const_functor_type |
Definition at line 243 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::const_iterator = typename base_type::const_iterator |
Definition at line 240 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::const_reference = nullable<inner_const_reference, bitmap_const_reference> |
Definition at line 230 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::const_value_iterator = typename base_type::const_value_iterator |
Definition at line 237 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::difference_type = typename base_type::difference_type |
Definition at line 233 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::functor_type = typename inner_types::functor_type |
Definition at line 242 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::inner_const_reference = typename inner_types::inner_const_reference |
Definition at line 218 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::inner_reference = typename inner_types::inner_reference |
Definition at line 217 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::inner_types = array_inner_types<self_type> |
Definition at line 215 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::inner_value_type = typename inner_types::inner_value_type |
Definition at line 216 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::inner_value_type_duration = inner_value_type::duration |
Definition at line 245 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::iterator = typename base_type::iterator |
Definition at line 239 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::iterator_tag = typename base_type::iterator_tag |
Definition at line 234 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::reference = nullable<inner_reference, bitmap_reference> |
Definition at line 229 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::self_type = timestamp_array |
Definition at line 212 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::size_type = typename base_type::size_type |
Definition at line 232 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::value_iterator = typename base_type::value_iterator |
Definition at line 236 of file timestamp_array.hpp.
| using sparrow::timestamp_array< T >::value_type = nullable<inner_value_type> |
Definition at line 228 of file timestamp_array.hpp.
|
explicit |
Constructs timestamp array from Arrow proxy.
| proxy | Arrow proxy containing timestamp array data and schema |
Definition at line 910 of file timestamp_array.hpp.
|
inlineexplicitconstexpr |
Generic constructor for creating timestamp arrays from various inputs.
Creates a timestamp array from different input combinations including timezone, values, validity information, and metadata. Arguments are forwarded to compatible create_proxy() functions.
The first argument must always be a const date::time_zone* pointer. Subsequent arguments can include:
| Args | Parameter pack for constructor arguments |
| args | Constructor arguments starting with timezone |
Definition at line 305 of file timestamp_array.hpp.
|
inlineconstexpr |
Constructs timestamp array from initializer list.
| METADATA_RANGE | Type of metadata container |
| timezone | Timezone for all timestamps in the array |
| init | Initializer list of timestamp values |
| name | Optional name for the array |
| metadata | Optional metadata key-value pairs |
Definition at line 327 of file timestamp_array.hpp.
|
constexpr |
Copy constructor.
| rhs | Source timestamp array to copy from |
Definition at line 874 of file timestamp_array.hpp.
|
constexprnoexcept |
Move constructor.
| rhs | Source timestamp array to move from |
Definition at line 893 of file timestamp_array.hpp.
|
constexpr |
Copy assignment operator.
| rhs | Source timestamp array to copy from |
Definition at line 883 of file timestamp_array.hpp.
|
constexprnoexcept |
Move assignment operator.
| rhs | Source timestamp array to move from |
Definition at line 901 of file timestamp_array.hpp.
|
friend |
Definition at line 864 of file timestamp_array.hpp.