6#ifndef METALL_JSON_ARRAY_HPP
7#define METALL_JSON_ARRAY_HPP
27template <
typename allocator_type,
typename other_array_type>
29 const other_array_type &other_array)
noexcept {
30 if (
array.
size() != other_array.size())
return false;
39template <
typename Alloc = std::allocator<std::
byte>>
41template <
typename Alloc>
48 template <
typename alloc,
typename T>
50 typename std::allocator_traits<alloc>::template rebind_alloc<T>>;
51 using aray_allocator_type = other_scoped_allocator<Alloc, value_type>;
56 using iterator =
typename array_type::iterator;
73 : m_array(other.m_array, alloc) {}
80 : m_array(std::move(other.m_array), alloc) {}
91 swap(m_array, other.m_array);
96 std::size_t
size() const noexcept {
return m_array.size(); }
101 std::size_t
capacity() const noexcept {
return m_array.capacity(); }
121 return m_array[index];
179 return !(lhs == rhs);
184 return m_array.get_allocator();
192template <
typename allocator_type>