libstdc++
c++allocator.h
Go to the documentation of this file.
1
// Base to std::allocator -*- C++ -*-
2
3
// Copyright (C) 2004-2022 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 bits/c++allocator.h
26
* This is an internal header file, included by other library headers.
27
* Do not attempt to use it directly. @headername{memory}
28
*/
29
30
#ifndef _GLIBCXX_CXX_ALLOCATOR_H
31
#define _GLIBCXX_CXX_ALLOCATOR_H 1
32
33
#include <
bits/new_allocator.h
>
34
35
#if __cplusplus >= 201103L
36
namespace
std
37
{
38
/**
39
* @brief An alias to the base class for std::allocator.
40
*
41
* Used to set the std::allocator base class to std::__new_allocator.
42
*
43
* @ingroup allocators
44
* @tparam _Tp Type of allocated object.
45
*/
46
template
<
typename
_Tp>
47
using
__allocator_base
=
__new_allocator<_Tp>
;
48
}
49
#else
50
// Define __new_allocator as the base class to std::allocator.
51
# define __allocator_base __new_allocator
52
#endif
53
54
#ifndef _GLIBCXX_SANITIZE_STD_ALLOCATOR
55
# if defined(__SANITIZE_ADDRESS__)
56
# define _GLIBCXX_SANITIZE_STD_ALLOCATOR 1
57
# elif defined __has_feature
58
# if __has_feature(address_sanitizer)
59
# define _GLIBCXX_SANITIZE_STD_ALLOCATOR 1
60
# endif
61
# endif
62
#endif
63
64
#endif
std
ISO C++ entities toplevel namespace is std.
std::__new_allocator
An allocator that uses global new, as per C++03 [20.4.1].
Definition:
bits/new_allocator.h:57
new_allocator.h
include
x86_64-pc-linux-gnu
bits
c++allocator.h
Generated by
1.9.1