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
{
59
using
__atomic2::atomic_flag
;
60
using
__atomic2::atomic_bool
;
61
using
__atomic0::atomic_address
;
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
include
bits
atomicfwd_cxx.h
Generated on Thu May 9 2013 11:47:30 for libstdc++ by
1.8.1.2