6 #ifndef METALL_JSON_ARRAY_HPP
7 #define METALL_JSON_ARRAY_HPP
27 template <
typename allocator_type,
typename other_array_type>
29 const other_array_type &other_array) noexcept {
30 if (
array.
size() != other_array.size())
return false;
39 template <
typename Alloc = std::allocator<std::
byte>>
41 template <
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();
192 template <
typename allocator_type>