sparrow
2.4.0
C++20 idiomatic APIs for the Apache Arrow Columnar Format
Toggle main menu visibility
Loading...
Searching...
No Matches
timestamp_without_timezone_array.hpp
Go to the documentation of this file.
1
// Copyright 2024 Man Group Operations Limited
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or mplied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
#pragma once
16
17
#include "
sparrow/layout/primitive_array_impl.hpp
"
18
#include "
sparrow/layout/timestamp_without_timezone_types.hpp
"
19
#include "
sparrow/types/data_traits.hpp
"
20
21
namespace
sparrow
22
{
23
using
zoned_time_without_timezone_types_t
=
mpl::typelist
<
24
zoned_time_without_timezone_seconds
,
25
zoned_time_without_timezone_milliseconds
,
26
zoned_time_without_timezone_microseconds
,
27
zoned_time_without_timezone_nanoseconds
>;
28
29
template
<
typename
T>
30
concept
zoned_time_without_timezone_type
=
mpl::contains<zoned_time_without_timezone_types_t, T>
();
31
32
namespace
detail
33
{
34
template
<>
35
struct
primitive_data_traits
<
zoned_time_without_timezone_seconds
>
36
{
37
static
constexpr
sparrow::data_type
type_id
=
sparrow::data_type::TIMESTAMP_SECONDS
;
38
};
39
40
template
<>
41
struct
primitive_data_traits
<
zoned_time_without_timezone_milliseconds
>
42
{
43
static
constexpr
sparrow::data_type
type_id
=
sparrow::data_type::TIMESTAMP_MILLISECONDS
;
44
};
45
46
template
<>
47
struct
primitive_data_traits
<
zoned_time_without_timezone_microseconds
>
48
{
49
static
constexpr
sparrow::data_type
type_id
=
sparrow::data_type::TIMESTAMP_MICROSECONDS
;
50
};
51
52
template
<>
53
struct
primitive_data_traits
<
zoned_time_without_timezone_nanoseconds
>
54
{
55
static
constexpr
sparrow::data_type
type_id
=
sparrow::data_type::TIMESTAMP_NANOSECONDS
;
56
};
57
}
58
62
template
<zoned_time_without_timezone_type T>
63
using
timestamp_without_timezone_array
=
primitive_array_impl<T>
;
64
69
using
timestamp_without_timezone_seconds_array
=
timestamp_without_timezone_array<zoned_time_without_timezone_seconds>
;
70
75
using
timestamp_without_timezone_milliseconds_array
=
timestamp_without_timezone_array
<
76
zoned_time_without_timezone_milliseconds
>;
77
82
using
timestamp_without_timezone_microseconds_array
=
timestamp_without_timezone_array
<
83
zoned_time_without_timezone_microseconds
>;
88
using
timestamp_without_timezone_nanoseconds_array
=
timestamp_without_timezone_array
<
89
zoned_time_without_timezone_nanoseconds
>;
90
91
template
<
class
T>
92
struct
is_timestamp_without_timezone_array
: std::false_type
93
{
94
};
95
96
template
<
class
T>
97
struct
is_timestamp_without_timezone_array
<
timestamp_without_timezone_array
<T>> : std::true_type
98
{
99
};
100
104
template
<
class
T>
105
constexpr
bool
is_timestamp_without_timezone_array_v
=
is_timestamp_without_timezone_array<T>::value
;
106
}
sparrow::primitive_array_impl
Definition
primitive_array_impl.hpp:125
sparrow::zoned_time_without_timezone_type
Definition
timestamp_without_timezone_array.hpp:30
data_traits.hpp
sparrow::detail
Definition
dynamic_bitset.hpp:391
sparrow::mpl::contains
consteval bool contains()
Checks if a typelist contains a specific type.
Definition
mp_utils.hpp:633
sparrow
Definition
array.hpp:21
sparrow::is_timestamp_without_timezone_array_v
constexpr bool is_timestamp_without_timezone_array_v
Checks whether T is a timestamp_without_timezone_array type.
Definition
timestamp_without_timezone_array.hpp:105
sparrow::timestamp_without_timezone_seconds_array
timestamp_without_timezone_array< zoned_time_without_timezone_seconds > timestamp_without_timezone_seconds_array
A timestamp without timezone array for zoned_time_without_timezone_seconds values.
Definition
timestamp_without_timezone_array.hpp:69
sparrow::timestamp_without_timezone_microseconds_array
timestamp_without_timezone_array< zoned_time_without_timezone_microseconds > timestamp_without_timezone_microseconds_array
A timestamp without timezone array for zoned_time_without_timezone_microseconds values.
Definition
timestamp_without_timezone_array.hpp:82
sparrow::timestamp_without_timezone_array
primitive_array_impl< T > timestamp_without_timezone_array
Array of timestamps without timezone.
Definition
timestamp_without_timezone_array.hpp:63
sparrow::timestamp_without_timezone_milliseconds_array
timestamp_without_timezone_array< zoned_time_without_timezone_milliseconds > timestamp_without_timezone_milliseconds_array
A timestamp without timezone array for zoned_time_without_timezone_milliseconds values.
Definition
timestamp_without_timezone_array.hpp:75
sparrow::zoned_time_without_timezone_types_t
mpl::typelist< zoned_time_without_timezone_seconds, zoned_time_without_timezone_milliseconds, zoned_time_without_timezone_microseconds, zoned_time_without_timezone_nanoseconds > zoned_time_without_timezone_types_t
Definition
timestamp_without_timezone_array.hpp:23
sparrow::timestamp_without_timezone_nanoseconds_array
timestamp_without_timezone_array< zoned_time_without_timezone_nanoseconds > timestamp_without_timezone_nanoseconds_array
A timestamp without timezone array for zoned_time_without_timezone_nanoseconds values.
Definition
timestamp_without_timezone_array.hpp:88
sparrow::data_type
data_type
Runtime identifier of arrow data types, usually associated with raw bytes with the associated value.
Definition
data_type.hpp:177
sparrow::data_type::TIMESTAMP_MILLISECONDS
@ TIMESTAMP_MILLISECONDS
Definition
data_type.hpp:217
sparrow::data_type::TIMESTAMP_MICROSECONDS
@ TIMESTAMP_MICROSECONDS
Definition
data_type.hpp:218
sparrow::data_type::TIMESTAMP_SECONDS
@ TIMESTAMP_SECONDS
Definition
data_type.hpp:216
sparrow::data_type::TIMESTAMP_NANOSECONDS
@ TIMESTAMP_NANOSECONDS
Definition
data_type.hpp:219
primitive_array_impl.hpp
sparrow::detail::primitive_data_traits< zoned_time_without_timezone_microseconds >::type_id
static constexpr sparrow::data_type type_id
Definition
timestamp_without_timezone_array.hpp:49
sparrow::detail::primitive_data_traits< zoned_time_without_timezone_milliseconds >::type_id
static constexpr sparrow::data_type type_id
Definition
timestamp_without_timezone_array.hpp:43
sparrow::detail::primitive_data_traits< zoned_time_without_timezone_nanoseconds >::type_id
static constexpr sparrow::data_type type_id
Definition
timestamp_without_timezone_array.hpp:55
sparrow::detail::primitive_data_traits< zoned_time_without_timezone_seconds >::type_id
static constexpr sparrow::data_type type_id
Definition
timestamp_without_timezone_array.hpp:37
sparrow::detail::primitive_data_traits
Definition
primitive_array_impl.hpp:69
sparrow::is_timestamp_without_timezone_array
Definition
timestamp_without_timezone_array.hpp:93
sparrow::mpl::typelist
A sequence of types used for metaprogramming operations.
Definition
mp_utils.hpp:123
sparrow::zoned_time_without_timezone_microseconds
A zoned time value without timezone, in microseconds.
Definition
timestamp_without_timezone_types.hpp:51
sparrow::zoned_time_without_timezone_milliseconds
A zoned time value without timezone, in milliseconds.
Definition
timestamp_without_timezone_types.hpp:38
sparrow::zoned_time_without_timezone_nanoseconds
A zoned time value without timezone, in nanoseconds.
Definition
timestamp_without_timezone_types.hpp:64
sparrow::zoned_time_without_timezone_seconds
A zoned time value without timezone, in seconds.
Definition
timestamp_without_timezone_types.hpp:25
timestamp_without_timezone_types.hpp
sparrow
timestamp_without_timezone_array.hpp
Generated by
1.17.0