33#if defined(SimpleRandomAccessRangeFromPoint_RECURSES)
34#error Recursive header files inclusion detected in SimpleRandomAccessRangeFromPoint.h
37#define SimpleRandomAccessRangeFromPoint_RECURSES
39#if !defined SimpleRandomAccessRangeFromPoint_h
41#define SimpleRandomAccessRangeFromPoint_h
45#include "DGtal/base/BasicFunctors.h"
46#include "DGtal/base/Circulator.h"
47#include "DGtal/base/IteratorAdapter.h"
48#include "DGtal/base/CBidirectionalRangeFromPoint.h"
49#include "boost/concept_check.hpp"
50#include "boost/iterator/reverse_iterator.hpp"
72 template <
typename TConstIterator,
typename TIterator,
typename DistanceFunctor>
85 typedef typename DistanceFunctor::Point
Point;
113 const TIterator& ite,
132 if (
this != &other )
164 out <<
"[SimpleRandomAccessRangeFromPoint]" << std::endl;
166 std::copy (
myBegin,
myEnd, std::ostream_iterator<Value> ( out,
", " ) );
175 return "SimpleRandomAccessRangeFromPoint";
368 ReverseCirculator
rc()
368 ReverseCirculator
rc() {
…}
377 ConstCirculator
c()
const
377 ConstCirculator
c()
const {
…}
386 ConstReverseCirculator
rc()
const
386 ConstReverseCirculator
rc()
const {
…}
400#undef SimpleRandomAccessRangeFromPoint_RECURSES
Aim: Provides an adapter for classical iterators that can iterate through the underlying data structu...
void selfDisplay(std::ostream &out) const
BOOST_CONCEPT_ASSERT((boost::UnaryFunction< DistanceFunctor, typename DistanceFunctor::Difference, typename DistanceFunctor::Point >))
DistanceFunctor myDistance
boost::reverse_iterator< ConstIterator > ConstReverseIterator
ConstReverseIterator rend() const
ConstIterator begin() const
BOOST_CONCEPT_ASSERT((boost::RandomAccessIterator< TConstIterator >))
boost::reverse_iterator< Iterator > ReverseOutputIterator
Iterator begin(const Point &aPoint)
~SimpleRandomAccessRangeFromPoint()
std::string className() const
ConstReverseCirculator rc() const
ConstReverseIterator rbegin(const Point &aPoint) const
OutputIterator outputIterator(const Point &aPoint)
boost::reverse_iterator< Circulator > ReverseCirculator
ConstCirculator c() const
DGtal::Circulator< Iterator > Circulator
ConstIterator begin(const Point &aPoint) const
boost::reverse_iterator< ConstCirculator > ConstReverseCirculator
SimpleRandomAccessRangeFromPoint(const SimpleRandomAccessRangeFromPoint &other)
DistanceFunctor::Point Point
ReverseOutputIterator routputIterator(const Point &aPoint)
ConstIterator end() const
boost::reverse_iterator< Iterator > ReverseIterator
SimpleRandomAccessRangeFromPoint(const TIterator &itb, const TIterator &ite, const DistanceFunctor &aDistance)
DGtal::Circulator< ConstIterator > ConstCirculator
BOOST_CONCEPT_ASSERT((boost::RandomAccessIterator< TIterator >))
SimpleRandomAccessRangeFromPoint & operator=(const SimpleRandomAccessRangeFromPoint &other)
ConstIterator ConstIterator
ReverseOutputIterator routputIterator()
ConstReverseIterator rbegin() const
OutputIterator outputIterator()
ReverseIterator rbegin(const Point &aPoint)
DGtal is the top-level namespace which contains all DGtal functions and types.
Go to http://www.sgi.com/tech/stl/RandomAccessIterator.html.
Go to http://www.sgi.com/tech/stl/UnaryFunction.html.