llvm-project

Форк
0
/
memory_resource 
69 строк · 2.1 Кб
1
// -*- C++ -*-
2
//===----------------------------------------------------------------------===//
3
//
4
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5
// See https://llvm.org/LICENSE.txt for license information.
6
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7
//
8
//===----------------------------------------------------------------------===//
9

10
#ifndef _LIBCPP_MEMORY_RESOURCE
11
#define _LIBCPP_MEMORY_RESOURCE
12

13
/**
14
    memory_resource synopsis
15

16
// C++17
17

18
namespace std::pmr {
19

20
  class memory_resource;
21

22
  bool operator==(const memory_resource& a,
23
                  const memory_resource& b) noexcept;
24
  bool operator!=(const memory_resource& a,
25
                  const memory_resource& b) noexcept;           // removed in C++20
26

27
  template <class Tp> class polymorphic_allocator;
28

29
  template <class T1, class T2>
30
  bool operator==(const polymorphic_allocator<T1>& a,
31
                  const polymorphic_allocator<T2>& b) noexcept;
32
  template <class T1, class T2>
33
  bool operator!=(const polymorphic_allocator<T1>& a,
34
                  const polymorphic_allocator<T2>& b) noexcept; // removed in C++20
35

36
  // Global memory resources
37
  memory_resource* set_default_resource(memory_resource* r) noexcept;
38
  memory_resource* get_default_resource() noexcept;
39
  memory_resource* new_delete_resource() noexcept;
40
  memory_resource* null_memory_resource() noexcept;
41

42
  // Pool resource classes
43
  struct pool_options;
44
  class synchronized_pool_resource;
45
  class unsynchronized_pool_resource;
46
  class monotonic_buffer_resource;
47

48
} // namespace std::pmr
49

50
 */
51

52
#include <__config>
53
#include <__memory_resource/memory_resource.h>
54
#include <__memory_resource/monotonic_buffer_resource.h>
55
#include <__memory_resource/polymorphic_allocator.h>
56
#include <__memory_resource/pool_options.h>
57
#include <__memory_resource/synchronized_pool_resource.h>
58
#include <__memory_resource/unsynchronized_pool_resource.h>
59
#include <version>
60

61
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
62
#  pragma GCC system_header
63
#endif
64

65
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
66
#  include <stdexcept>
67
#endif
68

69
#endif /* _LIBCPP_MEMORY_RESOURCE */
70

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.