18
18
*/
19
19
#include < bitcoin/system/arena.hpp>
20
20
21
+ #include < cstdlib>
21
22
#include < bitcoin/system/constants.hpp>
22
23
23
24
namespace libbitcoin {
24
25
25
- BC_PUSH_WARNING (NO_NEW_OR_DELETE)
26
-
27
26
bool operator ==(const arena& left, const arena& right) NOEXCEPT
28
27
{
29
28
return &left == &right || left.is_equal (right);
@@ -41,14 +40,18 @@ void* default_arena::do_allocate(size_t bytes, size_t) THROWS
41
40
{
42
41
// //if (align > __STDCPP_DEFAULT_NEW_ALIGNMENT__)
43
42
// // return ::operator new(bytes, std::align_val_t{ align });
44
- return ::operator new (bytes);
43
+ BC_PUSH_WARNING (NO_MALLOC_OR_FREE)
44
+ return std::malloc (bytes);
45
+ BC_POP_WARNING ()
45
46
}
46
47
47
48
void default_arena::do_deallocate (void * ptr, size_t , size_t ) NOEXCEPT
48
49
{
49
50
// //if (align > __STDCPP_DEFAULT_NEW_ALIGNMENT__)
50
51
// // ::operator delete(ptr, std::align_val_t{ align });
51
- ::operator delete (ptr);
52
+ BC_PUSH_WARNING (NO_MALLOC_OR_FREE)
53
+ std::free (ptr);
54
+ BC_POP_WARNING ()
52
55
}
53
56
54
57
bool default_arena::do_is_equal (const arena& other) const NOEXCEPT
@@ -57,6 +60,7 @@ bool default_arena::do_is_equal(const arena& other) const NOEXCEPT
57
60
return &other == this ;
58
61
}
59
62
63
+ // null return indicates that this arena is not detachable.
60
64
void * default_arena::start (size_t ) THROWS
61
65
{
62
66
return nullptr ;
@@ -71,6 +75,4 @@ void default_arena::release(void*) NOEXCEPT
71
75
{
72
76
}
73
77
74
- BC_POP_WARNING ()
75
-
76
78
} // namespace libbitcoin
0 commit comments