mirror of
https://github.com/boostorg/unordered.git
synced 2025-07-31 03:47:16 +02:00
Stricter iterator types
This commit is contained in:
@ -31,6 +31,15 @@ namespace boost { namespace unordered { namespace detail {
|
|||||||
extractor;
|
extractor;
|
||||||
|
|
||||||
typedef typename boost::unordered::detail::pick_policy<K>::type policy;
|
typedef typename boost::unordered::detail::pick_policy<K>::type policy;
|
||||||
|
|
||||||
|
typedef boost::unordered::iterator_detail::
|
||||||
|
iterator<node> iterator;
|
||||||
|
typedef boost::unordered::iterator_detail::
|
||||||
|
c_iterator<node> c_iterator;
|
||||||
|
typedef boost::unordered::iterator_detail::
|
||||||
|
l_iterator<node, policy> l_iterator;
|
||||||
|
typedef boost::unordered::iterator_detail::
|
||||||
|
cl_iterator<node, policy> cl_iterator;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename A, typename K, typename M, typename H, typename P>
|
template <typename A, typename K, typename M, typename H, typename P>
|
||||||
@ -56,6 +65,15 @@ namespace boost { namespace unordered { namespace detail {
|
|||||||
extractor;
|
extractor;
|
||||||
|
|
||||||
typedef typename boost::unordered::detail::pick_policy<K>::type policy;
|
typedef typename boost::unordered::detail::pick_policy<K>::type policy;
|
||||||
|
|
||||||
|
typedef boost::unordered::iterator_detail::
|
||||||
|
iterator<node> iterator;
|
||||||
|
typedef boost::unordered::iterator_detail::
|
||||||
|
c_iterator<node> c_iterator;
|
||||||
|
typedef boost::unordered::iterator_detail::
|
||||||
|
l_iterator<node, policy> l_iterator;
|
||||||
|
typedef boost::unordered::iterator_detail::
|
||||||
|
cl_iterator<node, policy> cl_iterator;
|
||||||
};
|
};
|
||||||
|
|
||||||
}}}
|
}}}
|
||||||
|
@ -29,6 +29,15 @@ namespace boost { namespace unordered { namespace detail {
|
|||||||
typedef boost::unordered::detail::set_extractor<value_type> extractor;
|
typedef boost::unordered::detail::set_extractor<value_type> extractor;
|
||||||
|
|
||||||
typedef typename boost::unordered::detail::pick_policy<T>::type policy;
|
typedef typename boost::unordered::detail::pick_policy<T>::type policy;
|
||||||
|
|
||||||
|
typedef boost::unordered::iterator_detail::
|
||||||
|
c_iterator<node> iterator;
|
||||||
|
typedef boost::unordered::iterator_detail::
|
||||||
|
c_iterator<node> c_iterator;
|
||||||
|
typedef boost::unordered::iterator_detail::
|
||||||
|
cl_iterator<node, policy> l_iterator;
|
||||||
|
typedef boost::unordered::iterator_detail::
|
||||||
|
cl_iterator<node, policy> cl_iterator;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename A, typename T, typename H, typename P>
|
template <typename A, typename T, typename H, typename P>
|
||||||
@ -53,5 +62,14 @@ namespace boost { namespace unordered { namespace detail {
|
|||||||
typedef boost::unordered::detail::set_extractor<value_type> extractor;
|
typedef boost::unordered::detail::set_extractor<value_type> extractor;
|
||||||
|
|
||||||
typedef typename boost::unordered::detail::pick_policy<T>::type policy;
|
typedef typename boost::unordered::detail::pick_policy<T>::type policy;
|
||||||
|
|
||||||
|
typedef boost::unordered::iterator_detail::
|
||||||
|
c_iterator<node> iterator;
|
||||||
|
typedef boost::unordered::iterator_detail::
|
||||||
|
c_iterator<node> c_iterator;
|
||||||
|
typedef boost::unordered::iterator_detail::
|
||||||
|
cl_iterator<node, policy> l_iterator;
|
||||||
|
typedef boost::unordered::iterator_detail::
|
||||||
|
cl_iterator<node, policy> cl_iterator;
|
||||||
};
|
};
|
||||||
}}}
|
}}}
|
||||||
|
@ -84,6 +84,10 @@ namespace boost { namespace unordered { namespace detail {
|
|||||||
typedef typename Types::table table_impl;
|
typedef typename Types::table table_impl;
|
||||||
typedef typename Types::link_pointer link_pointer;
|
typedef typename Types::link_pointer link_pointer;
|
||||||
typedef typename Types::policy policy;
|
typedef typename Types::policy policy;
|
||||||
|
typedef typename Types::iterator iterator;
|
||||||
|
typedef typename Types::c_iterator c_iterator;
|
||||||
|
typedef typename Types::l_iterator l_iterator;
|
||||||
|
typedef typename Types::cl_iterator cl_iterator;
|
||||||
|
|
||||||
typedef boost::unordered::detail::functions<
|
typedef boost::unordered::detail::functions<
|
||||||
typename Types::hasher,
|
typename Types::hasher,
|
||||||
@ -110,15 +114,6 @@ namespace boost { namespace unordered { namespace detail {
|
|||||||
typedef boost::unordered::detail::node_tmp<node_allocator>
|
typedef boost::unordered::detail::node_tmp<node_allocator>
|
||||||
node_tmp;
|
node_tmp;
|
||||||
|
|
||||||
typedef boost::unordered::iterator_detail::
|
|
||||||
iterator<node> iterator;
|
|
||||||
typedef boost::unordered::iterator_detail::
|
|
||||||
c_iterator<node> c_iterator;
|
|
||||||
typedef boost::unordered::iterator_detail::
|
|
||||||
l_iterator<node, policy> l_iterator;
|
|
||||||
typedef boost::unordered::iterator_detail::
|
|
||||||
cl_iterator<node, policy> cl_iterator;
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
// Members
|
// Members
|
||||||
|
|
||||||
|
@ -67,9 +67,9 @@ namespace unordered
|
|||||||
typedef std::ptrdiff_t difference_type;
|
typedef std::ptrdiff_t difference_type;
|
||||||
|
|
||||||
typedef typename table::cl_iterator const_local_iterator;
|
typedef typename table::cl_iterator const_local_iterator;
|
||||||
typedef typename table::cl_iterator local_iterator;
|
typedef typename table::l_iterator local_iterator;
|
||||||
typedef typename table::c_iterator const_iterator;
|
typedef typename table::c_iterator const_iterator;
|
||||||
typedef typename table::c_iterator iterator;
|
typedef typename table::iterator iterator;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
@ -536,9 +536,9 @@ namespace unordered
|
|||||||
typedef std::ptrdiff_t difference_type;
|
typedef std::ptrdiff_t difference_type;
|
||||||
|
|
||||||
typedef typename table::cl_iterator const_local_iterator;
|
typedef typename table::cl_iterator const_local_iterator;
|
||||||
typedef typename table::cl_iterator local_iterator;
|
typedef typename table::l_iterator local_iterator;
|
||||||
typedef typename table::c_iterator const_iterator;
|
typedef typename table::c_iterator const_iterator;
|
||||||
typedef typename table::c_iterator iterator;
|
typedef typename table::iterator iterator;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user