1// -*- C++ -*- forwarding header. 
2 
3// Copyright (C) 1997-2019 Free Software Foundation, Inc. 
4// 
5// This file is part of the GNU ISO C++ Library. This library is free 
6// software; you can redistribute it and/or modify it under the 
7// terms of the GNU General Public License as published by the 
8// Free Software Foundation; either version 3, or (at your option) 
9// any later version. 
10 
11// This library is distributed in the hope that it will be useful, 
12// but WITHOUT ANY WARRANTY; without even the implied warranty of 
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
14// GNU General Public License for more details. 
15 
16// Under Section 7 of GPL version 3, you are granted additional 
17// permissions described in the GCC Runtime Library Exception, version 
18// 3.1, as published by the Free Software Foundation. 
19 
20// You should have received a copy of the GNU General Public License and 
21// a copy of the GCC Runtime Library Exception along with this program; 
22// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 
23// <http://www.gnu.org/licenses/>. 
24 
25/** @file include/ctime 
26 * This is a Standard C++ Library file. You should @c \#include this file 
27 * in your programs, rather than any of the @a *.h implementation files. 
28 * 
29 * This is the C++ version of the Standard C Library header @c time.h, 
30 * and its contents are (mostly) the same as that header, but are all 
31 * contained in the namespace @c std (except for names which are defined 
32 * as macros in C). 
33 */ 
34 
35// 
36// ISO C++ 14882: 20.5 Date and time 
37// 
38 
39#pragma GCC system_header 
40 
41#include <bits/c++config.h> 
42#include <time.h> 
43 
44#ifndef _GLIBCXX_CTIME 
45#define _GLIBCXX_CTIME 1 
46 
47// Get rid of those macros defined in <time.h> in lieu of real functions. 
48#undef clock 
49#undef difftime 
50#undef mktime 
51#undef time 
52#undef asctime 
53#undef ctime 
54#undef gmtime 
55#undef localtime 
56#undef strftime 
57 
58namespace std 
59
60 using ::clock_t; 
61 using ::time_t; 
62 using ::tm; 
63 
64 using ::clock; 
65 using ::difftime; 
66 using ::mktime; 
67 using ::time; 
68 using ::asctime; 
69 using ::ctime; 
70 using ::gmtime; 
71 using ::localtime; 
72 using ::strftime; 
73} // namespace 
74 
75#if __cplusplus >= 201703L && defined(_GLIBCXX_HAVE_TIMESPEC_GET) 
76#undef timespec_get 
77namespace std 
78
79 using ::timespec; 
80 using ::timespec_get; 
81} // namespace std 
82#endif 
83 
84#endif 
85