aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs
diff options
context:
space:
mode:
authorkmartynkov <kmartynkov@yandex-team.com>2023-10-31 12:25:43 +0300
committerkmartynkov <kmartynkov@yandex-team.com>2023-10-31 12:59:09 +0300
commit25a41c10e4afa65014b0de4c2d1a4cf8a57c93af (patch)
treedc721f1eafc4081aaddd75854648ffd5b25c6d03 /contrib/libs
parent1da6e623dda095f88ac6cd2f1f4c8f96bab3d042 (diff)
downloadydb-25a41c10e4afa65014b0de4c2d1a4cf8a57c93af.tar.gz
update rapidjson for compile with xcode 14.2
Diffstat (limited to 'contrib/libs')
-rw-r--r--contrib/libs/rapidjson/include/rapidjson/document.h22
1 files changed, 14 insertions, 8 deletions
diff --git a/contrib/libs/rapidjson/include/rapidjson/document.h b/contrib/libs/rapidjson/include/rapidjson/document.h
index a2b044c8da..02fc773090 100644
--- a/contrib/libs/rapidjson/include/rapidjson/document.h
+++ b/contrib/libs/rapidjson/include/rapidjson/document.h
@@ -53,7 +53,7 @@ RAPIDJSON_DIAG_OFF(terminate) // ignore throwing RAPIDJSON_ASSERT in RAPIDJSON_N
#endif // __GNUC__
#ifndef RAPIDJSON_NOMEMBERITERATORCLASS
-#include <iterator> // std::iterator, std::random_access_iterator_tag
+#include <iterator> // std::random_access_iterator_tag
#endif
#if RAPIDJSON_HAS_CXX11_RVALUE_REFS
@@ -106,16 +106,13 @@ struct GenericMember {
\see GenericMember, GenericValue::MemberIterator, GenericValue::ConstMemberIterator
*/
template <bool Const, typename Encoding, typename Allocator>
-class GenericMemberIterator
- : public std::iterator<std::random_access_iterator_tag
- , typename internal::MaybeAddConst<Const,GenericMember<Encoding,Allocator> >::Type> {
+class GenericMemberIterator {
friend class GenericValue<Encoding,Allocator>;
template <bool, typename, typename> friend class GenericMemberIterator;
typedef GenericMember<Encoding,Allocator> PlainType;
typedef typename internal::MaybeAddConst<Const,PlainType>::Type ValueType;
- typedef std::iterator<std::random_access_iterator_tag,ValueType> BaseType;
public:
//! Iterator type itself
@@ -125,12 +122,21 @@ public:
//! Non-constant iterator type
typedef GenericMemberIterator<false,Encoding,Allocator> NonConstIterator;
+ /** \name std::iterator_traits support */
+ //@{
+ typedef ValueType value_type;
+ typedef ValueType * pointer;
+ typedef ValueType & reference;
+ typedef std::ptrdiff_t difference_type;
+ typedef std::random_access_iterator_tag iterator_category;
+ //@}
+
//! Pointer to (const) GenericMember
- typedef typename BaseType::pointer Pointer;
+ typedef pointer Pointer;
//! Reference to (const) GenericMember
- typedef typename BaseType::reference Reference;
+ typedef reference Reference;
//! Signed integer type (e.g. \c ptrdiff_t)
- typedef typename BaseType::difference_type DifferenceType;
+ typedef difference_type DifferenceType;
//! Default constructor (singular value)
/*! Creates an iterator pointing to no element.