6 #ifndef CPPTL_JSON_ALLOCATOR_H_INCLUDED 7 #define CPPTL_JSON_ALLOCATOR_H_INCLUDED 32 return static_cast<pointer>(::operator
new(n *
sizeof(T)));
43 std::memset(p, 0, n *
sizeof(T));
51 template<
typename... Args>
54 ::new (static_cast<void*>(p)) T(std::forward<Args>(args)...);
58 return size_t(-1) /
sizeof(T);
62 return std::addressof(x);
66 return std::addressof(x);
84 template<
typename T,
typename U>
89 template<
typename T,
typename U>
98 #endif // CPPTL_JSON_ALLOCATOR_H_INCLUDED const T & const_reference
void construct(pointer p, Args &&... args)
Construct an item in-place at pointer P.
pointer allocate(size_type n)
Allocate memory for N items using the standard allocator.
size_type max_size() const
SecureAllocator(const SecureAllocator< U > &)
void destroy(pointer p)
Destroy an item in-place at pointer P.
JSON (JavaScript Object Notation).
bool operator==(const SecureAllocator< T > &, const SecureAllocator< U > &)
pointer address(reference x) const
std::ptrdiff_t difference_type
bool operator!=(const SecureAllocator< T > &, const SecureAllocator< U > &)
const_pointer address(const_reference x) const
void deallocate(volatile pointer p, size_type n)
Release memory which was allocated for N items at pointer P.