diff --git a/include/nn/util/util_BitArray.h b/include/nn/util/util_BitArray.h index edaf1ec..4699509 100644 --- a/include/nn/util/util_BitArray.h +++ b/include/nn/util/util_BitArray.h @@ -37,10 +37,14 @@ class BitArray { }; class iterator { + public: typedef difference_type difference_type; typedef reference reference; typedef pointer pointer; + typedef std::random_access_iterator_tag iterator_category; + typedef value_type value_type; + private: BitArray* m_pParent; difference_type m_Pos; @@ -69,10 +73,14 @@ class BitArray { }; class const_iterator { + public: typedef difference_type difference_type; typedef const_reference reference; typedef const_pointer pointer; + typedef std::random_access_iterator_tag iterator_category; + typedef value_type value_type; + private: const BitArray* m_pParent; difference_type m_Pos; @@ -180,4 +188,4 @@ class BitArray { RawType* m_pBuf; size_type m_Len; }; -} // namespace nn::util \ No newline at end of file +} // namespace nn::util diff --git a/include/nn/util/util_IntrusiveList.h b/include/nn/util/util_IntrusiveList.h index a0d7b42..319f43a 100644 --- a/include/nn/util/util_IntrusiveList.h +++ b/include/nn/util/util_IntrusiveList.h @@ -72,6 +72,7 @@ class IntrusiveListImplementation { typedef difference_type difference_type; typedef value_type* pointer; typedef value_type& reference; + typedef std::bidirectional_iterator_tag iterator_category; const_iterator(pointer p) : m_Node(p) {} @@ -92,8 +93,10 @@ class IntrusiveListImplementation { class iterator { public: typedef value_type value_type; + typedef difference_type difference_type; typedef value_type* pointer; typedef value_type& reference; + typedef std::bidirectional_iterator_tag iterator_category; iterator(pointer p) : m_Node(p) {} @@ -197,12 +200,15 @@ class IntrusiveList { typedef std::reverse_iterator reverse_iterator; typedef std::reverse_iterator const_reverse_iterator; typedef int size_type; + typedef int difference_type; class const_iterator { public: typedef T value_type; + typedef difference_type difference_type; typedef value_type* pointer; typedef value_type& reference; + typedef std::bidirectional_iterator_tag iterator_category; reference operator*() const; pointer operator->() const; @@ -228,8 +234,10 @@ class IntrusiveList { class iterator { public: typedef T value_type; + typedef difference_type difference_type; typedef value_type* pointer; typedef value_type& reference; + typedef std::bidirectional_iterator_tag iterator_category; operator const_iterator() const { return static_cast(m_Iterator);