Use std::map default allocator as a placeholder

to extract the actual ObjectType::value_type
Still fails on older compilers (GCC <= 5.5)
This commit is contained in:
gatopeich 2020-06-23 12:03:21 +01:00
parent 49623a75ee
commit acd748e16f
2 changed files with 12 additions and 6 deletions

View file

@ -496,9 +496,12 @@ class basic_json
using object_t = ObjectType<StringType, using object_t = ObjectType<StringType,
basic_json, basic_json,
object_comparator_t, object_comparator_t,
// Note: instantiating ObjectType with dummy allocator to extract ::value_type // Note the use of std::map default allocator as a placeholder
AllocatorType<typename ObjectType<StringType, basic_json, object_comparator_t, AllocatorType<int> // to extract the actual ObjectType::value_type
>::value_type>>; AllocatorType<typename
ObjectType<StringType,basic_json,object_comparator_t,
std::allocator<std::pair<const StringType, basic_json>>
>::value_type>>;
/*! /*!
@brief a type for an array @brief a type for an array

View file

@ -16348,9 +16348,12 @@ class basic_json
using object_t = ObjectType<StringType, using object_t = ObjectType<StringType,
basic_json, basic_json,
object_comparator_t, object_comparator_t,
// Note: instantiating ObjectType with dummy allocator to extract ::value_type // Note the use of std::map default allocator as a placeholder
AllocatorType<typename ObjectType<StringType, basic_json, object_comparator_t, AllocatorType<int> // to extract the actual ObjectType::value_type
>::value_type>>; AllocatorType<typename
ObjectType<StringType,basic_json,object_comparator_t,
std::allocator<std::pair<const StringType, basic_json>>
>::value_type>>;
/*! /*!
@brief a type for an array @brief a type for an array