.. _program_listing_file__tmp_ws_src_rmf_traffic_rmf_traffic_include_rmf_traffic_Time.hpp: Program Listing for File Time.hpp ================================= |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/rmf_traffic/rmf_traffic/include/rmf_traffic/Time.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp /* * Copyright (C) 2019 Open Source Robotics Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ #ifndef RMF_TRAFFIC__TIME_HPP #define RMF_TRAFFIC__TIME_HPP #include namespace rmf_traffic { // // NOTE(MXG): An int64 nanosecond representation of time since the Unix Epoch // will not overflow until the year 2262. Please be sure to change this // implementation before then. using Time = std::chrono::steady_clock::time_point; // TODO(MXG): We should seriously consider a complete overhaul of how we are // using time in this library. using Duration = std::chrono::steady_clock::duration; namespace time { double to_seconds(Duration delta_t); Duration from_seconds(double delta_t); Time apply_offset(Time start_time, double delta_seconds); } // namespace time // TODO(MXG): Make user-friendly interfaces for interacting with the STL // time points and durations. They have good semantics from a technical point // of view, but they tend to be difficult for users to do tests and experiments // with, so it might be good to provide some APIs to help people use it. } // namespace rmf_traffic #endif // RMF_TRAFFIC__TIME_HPP