MCPcopy Create free account
hub / github.com/apache/arrow / VisitDuration

Function VisitDuration

cpp/src/arrow/util/time.h:58–72  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

56
57template <typename Visitor, typename... Args>
58decltype(std::declval<Visitor>()(std::chrono::seconds{}, std::declval<Args&&>()...))
59VisitDuration(TimeUnit::type unit, Visitor&& visitor, Args&&... args) {
60 switch (unit) {
61 default:
62 case TimeUnit::SECOND:
63 break;
64 case TimeUnit::MILLI:
65 return visitor(std::chrono::milliseconds{}, std::forward<Args>(args)...);
66 case TimeUnit::MICRO:
67 return visitor(std::chrono::microseconds{}, std::forward<Args>(args)...);
68 case TimeUnit::NANO:
69 return visitor(std::chrono::nanoseconds{}, std::forward<Args>(args)...);
70 }
71 return visitor(std::chrono::seconds{}, std::forward<Args>(args)...);
72}
73
74inline std::optional<int64_t> CastSecondsToUnit(TimeUnit::type unit, int64_t seconds) {
75 auto cast_seconds_to_unit = [](auto duration,

Callers 3

operator()Method · 0.85
operator()Method · 0.85
CastSecondsToUnitFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected