mirror of
https://github.com/boostorg/intrusive.git
synced 2025-08-02 14:04:36 +02:00
Avoid inheritance
This commit is contained in:
@@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
#include <boost/intrusive/detail/config_begin.hpp>
|
#include <boost/intrusive/detail/config_begin.hpp>
|
||||||
#include <boost/intrusive/detail/mpl.hpp>
|
#include <boost/intrusive/detail/mpl.hpp>
|
||||||
|
#include <boost/intrusive/detail/iterator.hpp>
|
||||||
|
|
||||||
namespace boost {
|
namespace boost {
|
||||||
namespace intrusive {
|
namespace intrusive {
|
||||||
@@ -58,14 +59,14 @@ struct operator_arrow_proxy<T&>
|
|||||||
|
|
||||||
template <class Iterator, class UnaryFunction>
|
template <class Iterator, class UnaryFunction>
|
||||||
class transform_iterator
|
class transform_iterator
|
||||||
: public boost::intrusive::iterator
|
|
||||||
< typename Iterator::iterator_category
|
|
||||||
, typename detail::remove_reference<typename UnaryFunction::result_type>::type
|
|
||||||
, typename Iterator::difference_type
|
|
||||||
, operator_arrow_proxy<typename UnaryFunction::result_type>
|
|
||||||
, typename UnaryFunction::result_type>
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
typedef typename Iterator::iterator_category iterator_category;
|
||||||
|
typedef typename detail::remove_reference<typename UnaryFunction::result_type>::type value_type;
|
||||||
|
typedef typename Iterator::difference_type difference_type;
|
||||||
|
typedef operator_arrow_proxy<typename UnaryFunction::result_type> pointer;
|
||||||
|
typedef typename UnaryFunction::result_type reference;
|
||||||
|
|
||||||
explicit transform_iterator(const Iterator &it, const UnaryFunction &f = UnaryFunction())
|
explicit transform_iterator(const Iterator &it, const UnaryFunction &f = UnaryFunction())
|
||||||
: members_(it, f)
|
: members_(it, f)
|
||||||
{}
|
{}
|
||||||
|
Reference in New Issue
Block a user