1// -*- C++ -*- 2//===---------------------------- ctime -----------------------------------===// 3// 4// The LLVM Compiler Infrastructure 5// 6// This file is dual licensed under the MIT and the University of Illinois Open 7// Source Licenses. See LICENSE.TXT for details. 8// 9//===----------------------------------------------------------------------===// 10 11#ifndef _LIBCPP_CTIME 12#define _LIBCPP_CTIME 13 14/* 15 ctime synopsis 16 17Macros: 18 19 NULL 20 CLOCKS_PER_SEC 21 TIME_UTC // C++17 22 23namespace std 24{ 25 26Types: 27 28 clock_t 29 size_t 30 time_t 31 tm 32 timespec // C++17 33 34clock_t clock(); 35double difftime(time_t time1, time_t time0); 36time_t mktime(tm* timeptr); 37time_t time(time_t* timer); 38char* asctime(const tm* timeptr); 39char* ctime(const time_t* timer); 40tm* gmtime(const time_t* timer); 41tm* localtime(const time_t* timer); 42size_t strftime(char* restrict s, size_t maxsize, const char* restrict format, 43 const tm* restrict timeptr); 44int timespec_get( struct timespec *ts, int base); // C++17 45} // std 46 47*/ 48 49#include <__config> 50#include <time.h> 51 52#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 53#pragma GCC system_header 54#endif 55 56_LIBCPP_BEGIN_NAMESPACE_STD 57 58using ::clock_t; 59using ::size_t; 60using ::time_t; 61using ::tm; 62#if _LIBCPP_STD_VER > 14 && defined(_LIBCPP_HAS_C11_FEATURES) 63using ::timespec; 64#endif 65using ::clock; 66using ::difftime; 67using ::mktime; 68using ::time; 69#ifndef _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS 70using ::asctime; 71using ::ctime; 72using ::gmtime; 73using ::localtime; 74#endif 75using ::strftime; 76#if _LIBCPP_STD_VER > 14 && defined(_LIBCPP_HAS_TIMESPEC_GET) 77using ::timespec_get; 78#endif 79 80_LIBCPP_END_NAMESPACE_STD 81 82#endif // _LIBCPP_CTIME 83