timezone.hpp
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2023-2024, NVIDIA CORPORATION.
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 #pragma once
6 
8 #include <cudf/utilities/export.hpp>
10 
11 #include <rmm/cuda_stream_view.hpp>
12 
13 #include <memory>
14 #include <optional>
15 #include <string>
16 
17 namespace CUDF_EXPORT cudf {
18 class table;
19 
20 // Cycle in which the time offsets repeat in Gregorian calendar
21 static constexpr int32_t solar_cycle_years = 400;
22 // Number of future entries in the timezone transition table:
23 // Two entries per year, over the length of the Gregorian calendar's solar cycle
24 static constexpr uint32_t solar_cycle_entry_count = 2 * solar_cycle_years;
25 
43 std::unique_ptr<table> make_timezone_transition_table(
44  std::optional<std::string_view> tzif_dir,
45  std::string_view timezone_name,
48 
49 } // namespace CUDF_EXPORT cudf
rmm::cuda_stream_view const get_default_stream()
Get the current default stream.
rmm::device_async_resource_ref get_current_device_resource_ref()
Get the current device memory resource reference.
detail::cccl_async_resource_ref< cuda::mr::resource_ref< cuda::mr::device_accessible > > device_async_resource_ref
cuDF interfaces
Definition: host_udf.hpp:26
std::unique_ptr< table > make_timezone_transition_table(std::optional< std::string_view > tzif_dir, std::string_view timezone_name, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
Creates a transition table to convert ORC timestamps to UTC.