class bidirectional_iterator: public base_class::iterator_base
{
friend class MultiLevelHashMap;
- friend typename base_class;
typedef typename base_class::iterator_base iterator_base;
protected:
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 )
{}
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:
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 )
{}
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;
# 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
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));
{
typedef typename Set::hash_type hash_type;
typedef typename Set::value_type value_type;
- typedef typename Arg<hash_type> arg_type;
+ typedef Arg<hash_type> arg_type;
typedef typename Set::guarded_ptr guarded_ptr;
Hasher hasher;