libstdc++
atomicfwd_cxx.h
Go to the documentation of this file.
1 // -*- C++ -*- header.
2 
3 // Copyright (C) 2008, 2009
4 // Free Software Foundation, Inc.
5 //
6 // This file is part of the GNU ISO C++ Library. This library is free
7 // software; you can redistribute it and/or modify it under the
8 // terms of the GNU General Public License as published by the
9 // Free Software Foundation; either version 3, or (at your option)
10 // any later version.
11 
12 // This library is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
16 
17 // Under Section 7 of GPL version 3, you are granted additional
18 // permissions described in the GCC Runtime Library Exception, version
19 // 3.1, as published by the Free Software Foundation.
20 
21 // You should have received a copy of the GNU General Public License and
22 // a copy of the GCC Runtime Library Exception along with this program;
23 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
24 // <http://www.gnu.org/licenses/>.
25 
26 /** @file bits/atomicfwd_cxx.h
27  * This is an internal header file, included by other library headers.
28  * You should not attempt to use it directly.
29  */
30 
31 // "C++" only bits.
32 
33 #define _ATOMIC_MEMBER_ _M_i
34 
35 _GLIBCXX_END_EXTERN_C
36 
37  namespace __atomic0
38  {
39  template<typename _IntTp>
40  struct __atomic_base;
41 
42  struct atomic_flag;
43  struct atomic_address;
44  struct atomic_bool;
45  }
46 
47  namespace __atomic2
48  {
49  template<typename _IntTp>
50  struct __atomic_base;
51 
52  struct atomic_flag;
53  struct atomic_address;
54  struct atomic_bool;
55  }
56 
57  namespace __atomic1
58  {
62  using __atomic0::__atomic_base;
63  }
64 
65  /// atomic_char
66  typedef __atomic_base<char> atomic_char;
67 
68  /// atomic_schar
69  typedef __atomic_base<signed char> atomic_schar;
70 
71  /// atomic_uchar
72  typedef __atomic_base<unsigned char> atomic_uchar;
73 
74  /// atomic_short
75  typedef __atomic_base<short> atomic_short;
76 
77  /// atomic_ushort
78  typedef __atomic_base<unsigned short> atomic_ushort;
79 
80  /// atomic_int
81  typedef __atomic_base<int> atomic_int;
82 
83  /// atomic_uint
84  typedef __atomic_base<unsigned int> atomic_uint;
85 
86  /// atomic_long
87  typedef __atomic_base<long> atomic_long;
88 
89  /// atomic_ulong
90  typedef __atomic_base<unsigned long> atomic_ulong;
91 
92  /// atomic_llong
93  typedef __atomic_base<long long> atomic_llong;
94 
95  /// atomic_ullong
96  typedef __atomic_base<unsigned long long> atomic_ullong;
97 
98  /// atomic_wchar_t
99  typedef __atomic_base<wchar_t> atomic_wchar_t;
100 
101  /// atomic_char16_t
102  typedef __atomic_base<char16_t> atomic_char16_t;
103 
104  /// atomic_char32_t
105  typedef __atomic_base<char32_t> atomic_char32_t;
106 
107  template<typename _Tp>
108  struct atomic;
109 _GLIBCXX_BEGIN_EXTERN_C
__atomic_base< signed char > atomic_schar
atomic_schar
Definition: atomicfwd_cxx.h:69
__atomic_base< unsigned int > atomic_uint
atomic_uint
Definition: atomicfwd_cxx.h:84
__atomic_base< int > atomic_int
atomic_int
Definition: atomicfwd_cxx.h:81
__atomic_base< unsigned long long > atomic_ullong
atomic_ullong
Definition: atomicfwd_cxx.h:96
__atomic_base< unsigned char > atomic_uchar
atomic_uchar
Definition: atomicfwd_cxx.h:72
__atomic_base< unsigned long > atomic_ulong
atomic_ulong
Definition: atomicfwd_cxx.h:90
29.4.2, address types
Definition: atomic_0.h:103
__atomic_base< unsigned short > atomic_ushort
atomic_ushort
Definition: atomicfwd_cxx.h:78
__atomic_base< wchar_t > atomic_wchar_t
atomic_wchar_t
Definition: atomicfwd_cxx.h:99
atomic_flag
Definition: atomic_2.h:47
__atomic_base< short > atomic_short
atomic_short
Definition: atomicfwd_cxx.h:75
__atomic_base< char16_t > atomic_char16_t
atomic_char16_t
__atomic_base< long long > atomic_llong
atomic_llong
Definition: atomicfwd_cxx.h:93
atomic_bool
Definition: atomic_2.h:393
__atomic_base< char32_t > atomic_char32_t
atomic_char32_t
__atomic_base< long > atomic_long
atomic_long
Definition: atomicfwd_cxx.h:87
__atomic_base< char > atomic_char
atomic_char
Definition: atomicfwd_cxx.h:66