From 69ed412eaae4d1cd4e19a420762dd7c13686f524 Mon Sep 17 00:00:00 2001 From: khizmax Date: Sun, 23 Aug 2015 18:03:53 +0300 Subject: [PATCH] MultiLevelHashSet/Map - fixed GCC incompatibility Added doc images --- cds/container/impl/multilevel_hashmap.h | 6 ++---- cds/intrusive/impl/multilevel_hashset.h | 2 +- doxygen/cds.doxy | 2 +- doxygen/image/multilevel_hashset.png | Bin 0 -> 51585 bytes doxygen/images.odp | Bin 0 -> 18624 bytes tests/test-hdr/map/hdr_multilevel_hashmap.h | 2 +- tests/test-hdr/set/hdr_multilevel_hashset.h | 2 +- 7 files changed, 6 insertions(+), 8 deletions(-) create mode 100644 doxygen/image/multilevel_hashset.png create mode 100644 doxygen/images.odp diff --git a/cds/container/impl/multilevel_hashmap.h b/cds/container/impl/multilevel_hashmap.h index 4704240f..a9e29f50 100644 --- a/cds/container/impl/multilevel_hashmap.h +++ b/cds/container/impl/multilevel_hashmap.h @@ -136,7 +136,6 @@ namespace cds { namespace container { class bidirectional_iterator: public base_class::iterator_base { friend class MultiLevelHashMap; - friend typename base_class; typedef typename base_class::iterator_base iterator_base; protected: @@ -202,7 +201,7 @@ namespace cds { namespace container { return !( *this == rhs ); } - protected: + public: // for internal use only! bidirectional_iterator( base_class const& set, typename base_class::array_node * pNode, size_t idx, bool ) : iterator_base( set, pNode, idx, false ) {} @@ -217,7 +216,6 @@ namespace cds { namespace container { class reverse_bidirectional_iterator : public base_class::iterator_base { friend class MultiLevelHashMap; - friend typename base_class; typedef typename base_class::iterator_base iterator_base; public: @@ -281,7 +279,7 @@ namespace cds { namespace container { return !( *this == rhs ); } - protected: + public: // for internal use only! reverse_bidirectional_iterator( base_class const& set, typename base_class::array_node * pNode, size_t idx, bool ) : iterator_base( set, pNode, idx, false ) {} diff --git a/cds/intrusive/impl/multilevel_hashset.h b/cds/intrusive/impl/multilevel_hashset.h index 4b22a47b..c86c2f42 100644 --- a/cds/intrusive/impl/multilevel_hashset.h +++ b/cds/intrusive/impl/multilevel_hashset.h @@ -1360,7 +1360,7 @@ namespace cds { namespace intrusive { hash_type const& hash = hash_accessor()( val ); hash_splitter splitter( hash ); hash_comparator cmp; - typename gc::GuardArray<2> guards; + typename gc::template GuardArray<2> guards; back_off bkoff; array_node * pArr = m_Head; diff --git a/doxygen/cds.doxy b/doxygen/cds.doxy index bebbae6e..e0e50cac 100644 --- a/doxygen/cds.doxy +++ b/doxygen/cds.doxy @@ -701,7 +701,7 @@ EXAMPLE_RECURSIVE = NO # directories that contain image that are included in the documentation (see # the \image command). -IMAGE_PATH = +IMAGE_PATH = doxygen/image # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program diff --git a/doxygen/image/multilevel_hashset.png b/doxygen/image/multilevel_hashset.png new file mode 100644 index 0000000000000000000000000000000000000000..2df82c0b386261ce44e9e857775e14ab923569bc GIT binary patch literal 51585 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'$g@znk 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 Ze1UG^G*}O1lb?Wp5+X9f<$`(v|3A*fnPvb0 literal 0 HcmV?d00001 diff --git a/doxygen/images.odp b/doxygen/images.odp new file mode 100644 index 0000000000000000000000000000000000000000..db7fd563c2273c26b93bd1277c5747284ad0b9ea GIT binary patch literal 18624 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 IEO7zx09CmjBLDyZ literal 0 HcmV?d00001 diff --git a/tests/test-hdr/map/hdr_multilevel_hashmap.h b/tests/test-hdr/map/hdr_multilevel_hashmap.h index e5a7b71e..1940486e 100644 --- a/tests/test-hdr/map/hdr_multilevel_hashmap.h +++ b/tests/test-hdr/map/hdr_multilevel_hashmap.h @@ -98,7 +98,7 @@ namespace map { size_t const capacity = 1000; - Map m; + Map m( nHeadBits, nArrayBits ); CPPUNIT_MSG("Array size: head=" << m.head_size() << ", array_node=" << m.array_node_size()); //CPPUNIT_ASSERT(m.head_size() >= (size_t(1) << nHeadBits)); //CPPUNIT_ASSERT(m.array_node_size() == (size_t(1) << nArrayBits)); diff --git a/tests/test-hdr/set/hdr_multilevel_hashset.h b/tests/test-hdr/set/hdr_multilevel_hashset.h index b34a4504..649a18a4 100644 --- a/tests/test-hdr/set/hdr_multilevel_hashset.h +++ b/tests/test-hdr/set/hdr_multilevel_hashset.h @@ -129,7 +129,7 @@ namespace set { { typedef typename Set::hash_type hash_type; typedef typename Set::value_type value_type; - typedef typename Arg arg_type; + typedef Arg arg_type; typedef typename Set::guarded_ptr guarded_ptr; Hasher hasher; -- 2.34.1