libstdc++
c++allocator.h
Go to the documentation of this file.
1
// Base to std::allocator -*- C++ -*-
2
3
// Copyright (C) 2004-2020 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 <
ext/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
42
* __gnu_cxx::new_allocator.
43
*
44
* @ingroup allocators
45
* @tparam _Tp Type of allocated object.
46
*/
47
template
<
typename
_Tp>
48
using
__allocator_base
=
__gnu_cxx::new_allocator<_Tp>
;
49
}
50
#else
51
// Define new_allocator as the base class to std::allocator.
52
# define __allocator_base __gnu_cxx::new_allocator
53
#endif
54
55
#ifndef _GLIBCXX_SANITIZE_STD_ALLOCATOR
56
# if defined(__SANITIZE_ADDRESS__)
57
# define _GLIBCXX_SANITIZE_STD_ALLOCATOR 1
58
# elif defined __has_feature
59
# if __has_feature(address_sanitizer)
60
# define _GLIBCXX_SANITIZE_STD_ALLOCATOR 1
61
# endif
62
# endif
63
#endif
64
65
#endif
new_allocator.h
std
ISO C++ entities toplevel namespace is std.
__gnu_cxx::new_allocator
An allocator that uses global new, as per C++03 [20.4.1].
Definition:
new_allocator.h:56
include
x86_64-pc-linux-gnu
bits
c++allocator.h
Generated by
1.9.1