Precisely 4 template arguments for the sake of clang 3.6 (?)

This commit is contained in:
Agustín F. Pozuelo 2020-07-03 01:28:54 +01:00
parent 0fc261f0f2
commit 93770467a1
2 changed files with 9 additions and 9 deletions

View file

@ -11,12 +11,12 @@ namespace nlohmann
/// ordered_map: a minimal map-like container that preserves insertion order /// ordered_map: a minimal map-like container that preserves insertion order
/// for use within nlohmann::basic_json<ordered_map> /// for use within nlohmann::basic_json<ordered_map>
template <class Key, class T, class IgnoredLess = std::less<Key>, template <class Key, class T, class IgnoredLess = std::less<Key>,
class Allocator = std::allocator<std::pair<const Key, T>>, class Allocator = std::allocator<std::pair<const Key, T>>>
class Container = std::vector<std::pair<const Key, T>, Allocator>> struct ordered_map : std::vector<std::pair<const Key, T>, Allocator>
struct ordered_map : Container
{ {
using key_type = Key; using key_type = Key;
using mapped_type = T; using mapped_type = T;
using Container = std::vector<std::pair<const Key, T>, Allocator>;
using typename Container::iterator; using typename Container::iterator;
using typename Container::size_type; using typename Container::size_type;
using typename Container::value_type; using typename Container::value_type;

View file

@ -2773,7 +2773,7 @@ uses the standard template types.
*/ */
using json = basic_json<>; using json = basic_json<>;
template<class Key, class T, class IgnoredLess, class Allocator, class Container> template<class Key, class T, class IgnoredLess, class Allocator>
struct ordered_map; struct ordered_map;
/*! /*!
@ -15880,12 +15880,12 @@ namespace nlohmann
/// ordered_map: a minimal map-like container that preserves insertion order /// ordered_map: a minimal map-like container that preserves insertion order
/// for use within nlohmann::basic_json<ordered_map> /// for use within nlohmann::basic_json<ordered_map>
template <class Key, class T, class IgnoredLess = std::less<Key>, template <class Key, class T, class IgnoredLess = std::less<Key>,
class Allocator = std::allocator<std::pair<const Key, T>>, class Allocator = std::allocator<std::pair<const Key, T>>>
class Container = std::vector<std::pair<const Key, T>, Allocator>> struct ordered_map : std::vector<std::pair<const Key, T>, Allocator>
struct ordered_map : Container
{ {
using key_type = Key; using key_type = Key;
using mapped_type = T; using mapped_type = T;
using Container = std::vector<std::pair<const Key, T>, Allocator>;
using typename Container::iterator; using typename Container::iterator;
using typename Container::size_type; using typename Container::size_type;
using typename Container::value_type; using typename Container::value_type;
@ -16063,7 +16063,7 @@ class basic_json
InputAdapterType adapter, InputAdapterType adapter,
detail::parser_callback_t<basic_json>cb = nullptr, detail::parser_callback_t<basic_json>cb = nullptr,
bool allow_exceptions = true bool allow_exceptions = true
) )
{ {
return ::nlohmann::detail::parser<basic_json, InputAdapterType>(std::move(adapter), std::move(cb), allow_exceptions); return ::nlohmann::detail::parser<basic_json, InputAdapterType>(std::move(adapter), std::move(cb), allow_exceptions);
} }
@ -24534,7 +24534,7 @@ template<>
inline void swap<nlohmann::json>(nlohmann::json& j1, nlohmann::json& j2) noexcept( inline void swap<nlohmann::json>(nlohmann::json& j1, nlohmann::json& j2) noexcept(
is_nothrow_move_constructible<nlohmann::json>::value and is_nothrow_move_constructible<nlohmann::json>::value and
is_nothrow_move_assignable<nlohmann::json>::value is_nothrow_move_assignable<nlohmann::json>::value
) )
{ {
j1.swap(j2); j1.swap(j2);
} }