3#ifndef AWKWARD_DATETIME_UTIL_H_
4#define AWKWARD_DATETIME_UTIL_H_
38 template <
class Mapping,
class V>
40 auto pos = std::find_if(
41 std::begin(
a), std::end(
a), [&
value](
const typename Mapping::value_type&
t) {
return ((
V)
t.value ==
value); });
42 if (pos != std::end(
a)) {
45 return std::begin(
a)->name;
48 template <
class Mapping>
51 std::string
chars =
"[]1234567890";
54 return chars.find(c) != std::string::npos;
57 auto pos = std::find_if(
58 std::begin(
a), std::end(
a), [&](
const typename Mapping::value_type&
t) {
61 if (pos != std::end(
a)) {
64 return std::begin(
a)->value;
89 const std::array<const NameValuePair<datetime_units>, 14>
units_map {
Filters, rearranges, and/or duplicates items in its content through an index, which has the same effe...
Definition IndexedArray.h:204
const std::array< const NameValuePair< datetime_units >, 14 > units_map
Definition datetime_util.h:89
std::tuple< std::string, int64_t > datetime_data(const std::string &format)
double scale_from_units(const std::string &format, uint64_t index)
datetime_units
Valid datetime units. Different units of two datetime type Arrays will be normalized to the smallest ...
Definition datetime_util.h:70
const std::string units_to_format(dtype dt, const std::string &units, int64_t step)
Convert a datetime units string into a format string.
Mapping::value_type::value_type value(Mapping a, const std::string &name)
Definition datetime_util.h:49
dtype
NumPy dtypes that can be interpreted within Awkward C++ (only the primitive, fixed-width types)....
Definition util.h:26
std::string name(Mapping a, V value)
Definition datetime_util.h:39
const std::string format_to_units(const std::string &format)
Convert a format string into a datetime units string.
Definition BitMaskedArray.h:15
Definition datetime_util.h:30
const int64_t scale_up
Definition datetime_util.h:34
const int64_t scale_down
Definition datetime_util.h:35
const T value
Definition datetime_util.h:32
const char *const name
Definition datetime_util.h:33
T value_type
Definition datetime_util.h:31