17a984708SDavid Chisnall// -*- C++ -*- 27a984708SDavid Chisnall//===---------------------------- ctime -----------------------------------===// 37a984708SDavid Chisnall// 47a984708SDavid Chisnall// The LLVM Compiler Infrastructure 57a984708SDavid Chisnall// 67a984708SDavid Chisnall// This file is dual licensed under the MIT and the University of Illinois Open 77a984708SDavid Chisnall// Source Licenses. See LICENSE.TXT for details. 87a984708SDavid Chisnall// 97a984708SDavid Chisnall//===----------------------------------------------------------------------===// 107a984708SDavid Chisnall 117a984708SDavid Chisnall#ifndef _LIBCPP_CTIME 127a984708SDavid Chisnall#define _LIBCPP_CTIME 137a984708SDavid Chisnall 147a984708SDavid Chisnall/* 157a984708SDavid Chisnall ctime synopsis 167a984708SDavid Chisnall 177a984708SDavid ChisnallMacros: 187a984708SDavid Chisnall 197a984708SDavid Chisnall NULL 207a984708SDavid Chisnall CLOCKS_PER_SEC 21*4ba319b5SDimitry Andric TIME_UTC // C++17 227a984708SDavid Chisnall 237a984708SDavid Chisnallnamespace std 247a984708SDavid Chisnall{ 257a984708SDavid Chisnall 267a984708SDavid ChisnallTypes: 277a984708SDavid Chisnall 287a984708SDavid Chisnall clock_t 297a984708SDavid Chisnall size_t 307a984708SDavid Chisnall time_t 317a984708SDavid Chisnall tm 32*4ba319b5SDimitry Andric timespec // C++17 337a984708SDavid Chisnall 347a984708SDavid Chisnallclock_t clock(); 357a984708SDavid Chisnalldouble difftime(time_t time1, time_t time0); 367a984708SDavid Chisnalltime_t mktime(tm* timeptr); 377a984708SDavid Chisnalltime_t time(time_t* timer); 387a984708SDavid Chisnallchar* asctime(const tm* timeptr); 397a984708SDavid Chisnallchar* ctime(const time_t* timer); 407a984708SDavid Chisnalltm* gmtime(const time_t* timer); 417a984708SDavid Chisnalltm* localtime(const time_t* timer); 427a984708SDavid Chisnallsize_t strftime(char* restrict s, size_t maxsize, const char* restrict format, 437a984708SDavid Chisnall const tm* restrict timeptr); 44*4ba319b5SDimitry Andricint timespec_get( struct timespec *ts, int base); // C++17 457a984708SDavid Chisnall} // std 467a984708SDavid Chisnall 477a984708SDavid Chisnall*/ 487a984708SDavid Chisnall 497a984708SDavid Chisnall#include <__config> 507a984708SDavid Chisnall#include <time.h> 517a984708SDavid Chisnall 527a984708SDavid Chisnall#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 537a984708SDavid Chisnall#pragma GCC system_header 547a984708SDavid Chisnall#endif 557a984708SDavid Chisnall 567a984708SDavid Chisnall_LIBCPP_BEGIN_NAMESPACE_STD 577a984708SDavid Chisnall 587a984708SDavid Chisnallusing ::clock_t; 597a984708SDavid Chisnallusing ::size_t; 607a984708SDavid Chisnallusing ::time_t; 617a984708SDavid Chisnallusing ::tm; 62*4ba319b5SDimitry Andric#if _LIBCPP_STD_VER > 14 && defined(_LIBCPP_HAS_C11_FEATURES) 63*4ba319b5SDimitry Andricusing ::timespec; 64*4ba319b5SDimitry Andric#endif 657a984708SDavid Chisnallusing ::clock; 667a984708SDavid Chisnallusing ::difftime; 677a984708SDavid Chisnallusing ::mktime; 687a984708SDavid Chisnallusing ::time; 69854fa44bSDimitry Andric#ifndef _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS 707a984708SDavid Chisnallusing ::asctime; 717a984708SDavid Chisnallusing ::ctime; 727a984708SDavid Chisnallusing ::gmtime; 737a984708SDavid Chisnallusing ::localtime; 74854fa44bSDimitry Andric#endif 757a984708SDavid Chisnallusing ::strftime; 76*4ba319b5SDimitry Andric#if _LIBCPP_STD_VER > 14 && defined(_LIBCPP_HAS_TIMESPEC_GET) 77*4ba319b5SDimitry Andricusing ::timespec_get; 78*4ba319b5SDimitry Andric#endif 797a984708SDavid Chisnall 807a984708SDavid Chisnall_LIBCPP_END_NAMESPACE_STD 817a984708SDavid Chisnall 827a984708SDavid Chisnall#endif // _LIBCPP_CTIME 83