/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * Copyright 2017 Danny Robson */ #ifndef CRUFT_UTIL_TIME_PARSE_HPP #define CRUFT_UTIL_TIME_PARSE_HPP #include "../view.hpp" #include #include namespace util::time::iso8601 { /// parse ISO8601 formatted datetime strings /// /// returns nanoseconds since the UNIX epoch (excluding leap seconds). /// /// recognises fractional seconds up to the numeric limits of /// std::chrono::nanoseconds. /// /// may throw on improperly formatted strings or unrepresentable values. std::chrono::nanoseconds parse (util::view); } #endif