/src/boost/boost/json/detail/impl/default_resource.ipp
Line | Count | Source (jump to first uncovered line) |
1 | | // |
2 | | // Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com) |
3 | | // |
4 | | // Distributed under the Boost Software License, Version 1.0. (See accompanying |
5 | | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
6 | | // |
7 | | // Official repository: https://github.com/boostorg/json |
8 | | // |
9 | | |
10 | | #ifndef BOOST_JSON_DETAIL_IMPL_DEFAULT_RESOURCE_IPP |
11 | | #define BOOST_JSON_DETAIL_IMPL_DEFAULT_RESOURCE_IPP |
12 | | |
13 | | #include <boost/json/detail/default_resource.hpp> |
14 | | |
15 | | namespace boost { |
16 | | namespace json { |
17 | | namespace detail { |
18 | | |
19 | | #ifndef BOOST_JSON_WEAK_CONSTINIT |
20 | | # ifndef BOOST_JSON_NO_DESTROY |
21 | | BOOST_JSON_REQUIRE_CONST_INIT |
22 | | default_resource::holder |
23 | | default_resource::instance_; |
24 | | # else |
25 | | BOOST_JSON_REQUIRE_CONST_INIT |
26 | | default_resource |
27 | | default_resource::instance_; |
28 | | # endif |
29 | | #endif |
30 | | |
31 | | // this is here so that ~memory_resource |
32 | | // is emitted in the library instead of |
33 | | // the user's TU. |
34 | | default_resource:: |
35 | 0 | ~default_resource() = default; |
36 | | |
37 | | void* |
38 | | default_resource:: |
39 | | do_allocate( |
40 | | std::size_t n, |
41 | | std::size_t) |
42 | 1.14M | { |
43 | 1.14M | return ::operator new(n); |
44 | 1.14M | } |
45 | | |
46 | | void |
47 | | default_resource:: |
48 | | do_deallocate( |
49 | | void* p, |
50 | | std::size_t, |
51 | | std::size_t) |
52 | 1.14M | { |
53 | 1.14M | ::operator delete(p); |
54 | 1.14M | } |
55 | | |
56 | | bool |
57 | | default_resource:: |
58 | | do_is_equal( |
59 | | memory_resource const& mr) const noexcept |
60 | 0 | { |
61 | 0 | return this == &mr; |
62 | 0 | } |
63 | | |
64 | | } // detail |
65 | | } // namespace json |
66 | | } // namespace boost |
67 | | |
68 | | #endif |