13e519524SHoward Hinnant// -*- C++ -*- 2eb8650a7SLouis Dionne//===----------------------------------------------------------------------===// 33e519524SHoward Hinnant// 457b08b09SChandler Carruth// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 557b08b09SChandler Carruth// See https://llvm.org/LICENSE.txt for license information. 657b08b09SChandler Carruth// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 73e519524SHoward Hinnant// 83e519524SHoward Hinnant//===----------------------------------------------------------------------===// 93e519524SHoward Hinnant 103e519524SHoward Hinnant#ifndef _LIBCPP_CTIME 113e519524SHoward Hinnant#define _LIBCPP_CTIME 123e519524SHoward Hinnant 133e519524SHoward Hinnant/* 143e519524SHoward Hinnant ctime synopsis 153e519524SHoward Hinnant 163e519524SHoward HinnantMacros: 173e519524SHoward Hinnant 183e519524SHoward Hinnant NULL 193e519524SHoward Hinnant CLOCKS_PER_SEC 20deb471faSMarshall Clow TIME_UTC // C++17 213e519524SHoward Hinnant 223e519524SHoward Hinnantnamespace std 233e519524SHoward Hinnant{ 243e519524SHoward Hinnant 253e519524SHoward HinnantTypes: 263e519524SHoward Hinnant 273e519524SHoward Hinnant clock_t 283e519524SHoward Hinnant size_t 293e519524SHoward Hinnant time_t 303e519524SHoward Hinnant tm 31deb471faSMarshall Clow timespec // C++17 323e519524SHoward Hinnant 333e519524SHoward Hinnantclock_t clock(); 343e519524SHoward Hinnantdouble difftime(time_t time1, time_t time0); 353e519524SHoward Hinnanttime_t mktime(tm* timeptr); 363e519524SHoward Hinnanttime_t time(time_t* timer); 373e519524SHoward Hinnantchar* asctime(const tm* timeptr); 383e519524SHoward Hinnantchar* ctime(const time_t* timer); 393e519524SHoward Hinnanttm* gmtime(const time_t* timer); 403e519524SHoward Hinnanttm* localtime(const time_t* timer); 413e519524SHoward Hinnantsize_t strftime(char* restrict s, size_t maxsize, const char* restrict format, 423e519524SHoward Hinnant const tm* restrict timeptr); 43deb471faSMarshall Clowint timespec_get( struct timespec *ts, int base); // C++17 443e519524SHoward Hinnant} // std 453e519524SHoward Hinnant 463e519524SHoward Hinnant*/ 473e519524SHoward Hinnant 48*385cc25aSLouis Dionne#include <__assert> // all public C++ headers provide the assertion handler 493e519524SHoward Hinnant#include <__config> 503e519524SHoward Hinnant#include <time.h> 513e519524SHoward Hinnant 52073458b1SHoward Hinnant#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 533e519524SHoward Hinnant# pragma GCC system_header 54073458b1SHoward Hinnant#endif 553e519524SHoward Hinnant 563e519524SHoward Hinnant_LIBCPP_BEGIN_NAMESPACE_STD 573e519524SHoward Hinnant 58a9c9183cSLouis Dionneusing ::clock_t _LIBCPP_USING_IF_EXISTS; 59a9c9183cSLouis Dionneusing ::size_t _LIBCPP_USING_IF_EXISTS; 60a9c9183cSLouis Dionneusing ::time_t _LIBCPP_USING_IF_EXISTS; 61a9c9183cSLouis Dionneusing ::tm _LIBCPP_USING_IF_EXISTS; 6221f73d58SLouis Dionne#if _LIBCPP_STD_VER > 14 63a9c9183cSLouis Dionneusing ::timespec _LIBCPP_USING_IF_EXISTS; 64deb471faSMarshall Clow#endif 65a9c9183cSLouis Dionneusing ::clock _LIBCPP_USING_IF_EXISTS; 66a9c9183cSLouis Dionneusing ::difftime _LIBCPP_USING_IF_EXISTS; 67a9c9183cSLouis Dionneusing ::mktime _LIBCPP_USING_IF_EXISTS; 68a9c9183cSLouis Dionneusing ::time _LIBCPP_USING_IF_EXISTS; 69a9c9183cSLouis Dionneusing ::asctime _LIBCPP_USING_IF_EXISTS; 70a9c9183cSLouis Dionneusing ::ctime _LIBCPP_USING_IF_EXISTS; 71a9c9183cSLouis Dionneusing ::gmtime _LIBCPP_USING_IF_EXISTS; 72a9c9183cSLouis Dionneusing ::localtime _LIBCPP_USING_IF_EXISTS; 73a9c9183cSLouis Dionneusing ::strftime _LIBCPP_USING_IF_EXISTS; 7421f73d58SLouis Dionne#if _LIBCPP_STD_VER > 14 75a9c9183cSLouis Dionneusing ::timespec_get _LIBCPP_USING_IF_EXISTS; 76deb471faSMarshall Clow#endif 773e519524SHoward Hinnant 783e519524SHoward Hinnant_LIBCPP_END_NAMESPACE_STD 793e519524SHoward Hinnant 803e519524SHoward Hinnant#endif // _LIBCPP_CTIME 81