diff options
Diffstat (limited to 'libcutl/cutl/container/pointer-iterator.hxx')
| -rw-r--r-- | libcutl/cutl/container/pointer-iterator.hxx | 126 | 
1 files changed, 0 insertions, 126 deletions
| diff --git a/libcutl/cutl/container/pointer-iterator.hxx b/libcutl/cutl/container/pointer-iterator.hxx deleted file mode 100644 index 7059558..0000000 --- a/libcutl/cutl/container/pointer-iterator.hxx +++ /dev/null @@ -1,126 +0,0 @@ -// file      : cutl/container/pointer-iterator.hxx -// copyright : Copyright (c) 2009-2013 Code Synthesis Tools CC -// license   : MIT; see accompanying LICENSE file - -#ifndef CUTL_CONTAINER_POINTER_ITERATOR_HXX -#define CUTL_CONTAINER_POINTER_ITERATOR_HXX - -#include <iterator> // std::iterator_traits - -#include <cutl/meta/remove-p.hxx> - -namespace cutl -{ -  namespace container -  { -    template <typename I> -    class pointer_iterator -    { -    public: -      typedef -      typename meta::remove_p<typename std::iterator_traits<I>::value_type>::r -      value_type; - -      typedef -      typename std::iterator_traits<I>::iterator_category -      iterator_category; - -      typedef -      typename std::iterator_traits<I>::difference_type -      difference_type; - -      typedef value_type& reference; -      typedef value_type* pointer; -      typedef I base_iterator; - -    public: -      pointer_iterator () -          : i_ () // I can be of a pointer type. -      { -      } - -      pointer_iterator (I const& i) -          : i_ (i) -      { -      } - -    public: -      reference -      operator* () const -      { -        return **i_; -      } - -      pointer -      operator-> () const -      { -        return *i_; -      } - -      I const& -      base () const -      { -        return i_; -      } - -    public: -      // Forward iterator requirements. -      // -      pointer_iterator& -      operator++ () -      { -        ++i_; -        return *this; -      } - -      pointer_iterator -      operator++ (int) -      { -        pointer_iterator r (*this); -        ++i_; -        return r; -      } - -      pointer_iterator& -      operator-- () -      { -        --i_; -        return *this; -      } - -      pointer_iterator -      operator-- (int) -      { -        pointer_iterator r (*this); -        --i_; -        return r; -      } - -    private: -      I i_; -    }; - -    template <typename I> -    inline bool -    operator== (pointer_iterator<I> const& a, pointer_iterator<I> const& b) -    { -      return a.base () == b.base (); -    } - -    template <typename I> -    inline bool -    operator!= (pointer_iterator<I> const& a, pointer_iterator<I> const& b) -    { -      return a.base () != b.base (); -    } - -    template <typename I> -    inline typename pointer_iterator<I>::difference_type -    operator- (pointer_iterator<I> const& a, pointer_iterator<I> const& b) -    { -      return a.base () - b.base (); -    } -  } -} - -#endif // CUTL_CONTAINER_POINTER_ITERATOR_HXX | 
