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>
49 typename Mapping::value_type::value_type
value(Mapping a,
const std::string&
name) {
51 std::string chars =
"[]1234567890";
52 unit_name.erase(remove_if(unit_name.begin(), unit_name.end(),
53 [&chars](
const char &c) {
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) {
59 return (unit_name == t.name);
61 if (pos != std::end(a)) {
64 return std::begin(a)->value;
89 const std::array<const NameValuePair<datetime_units>, 14>
units_map {
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:22
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: ArrayBuilder.h:14
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