File failed to load: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.3/config/TeX-MML-AM_CHTML/MathJax.js
DGtal 2.0.0
DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor > Class Template Reference

Aim: model of CConstBidirectionalRangeFromPoint that adapts any range of elements bounded by two iterators [itb, ite) and provides services to (circularly)iterate over it (in a read-only manner). More...

#include <DGtal/base/SimpleRandomAccessConstRangeFromPoint.h>

Inheritance diagram for DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >:
[legend]

Public Types

typedef DistanceFunctor::Point Point
typedef TConstIterator ConstIterator
typedef boost::reverse_iterator< ConstIteratorConstReverseIterator
typedef Circulator< ConstIteratorConstCirculator
typedef boost::reverse_iterator< ConstCirculatorConstReverseCirculator

Public Member Functions

 SimpleRandomAccessConstRangeFromPoint (const TConstIterator &itb, const TConstIterator &ite, const DistanceFunctor &aDistance)
 SimpleRandomAccessConstRangeFromPoint (const SimpleRandomAccessConstRangeFromPoint &other)
SimpleRandomAccessConstRangeFromPointoperator= (const SimpleRandomAccessConstRangeFromPoint &other)
 ~SimpleRandomAccessConstRangeFromPoint ()
bool isValid () const
void selfDisplay (std::ostream &out) const
std::string className () const
ConstIterator begin () const
ConstIterator begin (const Point &aPoint) const
ConstIterator end () const
ConstReverseIterator rbegin () const
ConstReverseIterator rbegin (const Point &aPoint) const
ConstReverseIterator rend () const
ConstCirculator c () const
ConstReverseCirculator rc () const

Private Member Functions

 BOOST_CONCEPT_ASSERT ((boost::RandomAccessIterator< TConstIterator >))
 BOOST_CONCEPT_ASSERT ((boost::UnaryFunction< DistanceFunctor, typename DistanceFunctor::Difference, typename DistanceFunctor::Point >))

Private Attributes

TConstIterator myBegin
TConstIterator myEnd
DistanceFunctor myDistance

Detailed Description

template<typename TConstIterator, typename DistanceFunctor>
class DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >

Aim: model of CConstBidirectionalRangeFromPoint that adapts any range of elements bounded by two iterators [itb, ite) and provides services to (circularly)iterate over it (in a read-only manner).

Template Parameters
TConstIteratorthe type of the iterator to adapt (at least bidirectional)
DistanceFunctortype of distance from point functor for random access container models. Models must have a Point and a Difference inner types. operator() returns a number of type Difference on instances of Point)
See also
ConstRangeAdapter

Definition at line 74 of file SimpleRandomAccessConstRangeFromPoint.h.

Member Typedef Documentation

◆ ConstCirculator

template<typename TConstIterator, typename DistanceFunctor>
typedef Circulator<ConstIterator> DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >::ConstCirculator

Definition at line 90 of file SimpleRandomAccessConstRangeFromPoint.h.

◆ ConstIterator

template<typename TConstIterator, typename DistanceFunctor>
typedef TConstIterator DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >::ConstIterator

Definition at line 87 of file SimpleRandomAccessConstRangeFromPoint.h.

◆ ConstReverseCirculator

template<typename TConstIterator, typename DistanceFunctor>
typedef boost::reverse_iterator<ConstCirculator> DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >::ConstReverseCirculator

Definition at line 91 of file SimpleRandomAccessConstRangeFromPoint.h.

◆ ConstReverseIterator

template<typename TConstIterator, typename DistanceFunctor>
typedef boost::reverse_iterator<ConstIterator> DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >::ConstReverseIterator

Definition at line 88 of file SimpleRandomAccessConstRangeFromPoint.h.

◆ Point

template<typename TConstIterator, typename DistanceFunctor>
typedef DistanceFunctor::Point DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >::Point

Definition at line 85 of file SimpleRandomAccessConstRangeFromPoint.h.

Constructor & Destructor Documentation

◆ SimpleRandomAccessConstRangeFromPoint() [1/2]

template<typename TConstIterator, typename DistanceFunctor>
DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >::SimpleRandomAccessConstRangeFromPoint ( const TConstIterator & itb,
const TConstIterator & ite,
const DistanceFunctor & aDistance )
inline

Standard constructor from two iterators and one functor.

Parameters
itbbegin iterator.
iteend iterator.
aDistancefunctor used to adapt on-the-fly the elements of the range

Definition at line 103 of file SimpleRandomAccessConstRangeFromPoint.h.

◆ SimpleRandomAccessConstRangeFromPoint() [2/2]

template<typename TConstIterator, typename DistanceFunctor>
DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >::SimpleRandomAccessConstRangeFromPoint ( const SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor > & other)
inline

Copy constructor.

Parameters
otherthe iterator to clone.

Definition at line 110 of file SimpleRandomAccessConstRangeFromPoint.h.

◆ ~SimpleRandomAccessConstRangeFromPoint()

template<typename TConstIterator, typename DistanceFunctor>
DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >::~SimpleRandomAccessConstRangeFromPoint ( )
inline

Destructor. Does nothing.

Definition at line 133 of file SimpleRandomAccessConstRangeFromPoint.h.

133{}

Member Function Documentation

◆ begin() [1/2]

◆ begin() [2/2]

template<typename TConstIterator, typename DistanceFunctor>
ConstIterator DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >::begin ( const Point & aPoint) const
inline

Iterator service.

Parameters
aPointa Point
Returns
begin iterator

Definition at line 203 of file SimpleRandomAccessConstRangeFromPoint.h.

204 {
205 return ConstIterator ( myBegin ) + myDistance ( aPoint );
206 }

◆ BOOST_CONCEPT_ASSERT() [1/2]

template<typename TConstIterator, typename DistanceFunctor>
DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >::BOOST_CONCEPT_ASSERT ( (boost::RandomAccessIterator< TConstIterator >) )
private

◆ BOOST_CONCEPT_ASSERT() [2/2]

template<typename TConstIterator, typename DistanceFunctor>
DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >::BOOST_CONCEPT_ASSERT ( (boost::UnaryFunction< DistanceFunctor, typename DistanceFunctor::Difference, typename DistanceFunctor::Point >) )
private

◆ c()

◆ className()

template<typename TConstIterator, typename DistanceFunctor>
std::string DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >::className ( ) const
inline
Returns
the style name used for drawing this object.

Definition at line 161 of file SimpleRandomAccessConstRangeFromPoint.h.

162 {
163 return "SimpleRandomAccessConstRangeFromPoint";
164 }

◆ end()

◆ isValid()

template<typename TConstIterator, typename DistanceFunctor>
bool DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >::isValid ( ) const
inline

Checks the validity/consistency of the object.

Returns
'true' if the object is valid, 'false' otherwise.

Definition at line 139 of file SimpleRandomAccessConstRangeFromPoint.h.

140 {
141 return true;
142 }

◆ operator=()

template<typename TConstIterator, typename DistanceFunctor>
SimpleRandomAccessConstRangeFromPoint & DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >::operator= ( const SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor > & other)
inline

Assignment.

Parameters
otherthe iterator to copy.
Returns
a reference on 'this'.

Definition at line 118 of file SimpleRandomAccessConstRangeFromPoint.h.

119 {
120 if ( this != &other )
121 {
123 myEnd = other.myEnd;
125 }
126
127 return *this;
128 }

◆ rbegin() [1/2]

template<typename TConstIterator, typename DistanceFunctor>
ConstReverseIterator DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >::rbegin ( ) const
inline

Iterator service.

Returns
rbegin iterator

Definition at line 221 of file SimpleRandomAccessConstRangeFromPoint.h.

222 {
223 return ConstReverseIterator ( this->end() );
224 }
boost::reverse_iterator< ConstIterator > ConstReverseIterator

Referenced by SECTION(), and SECTION().

◆ rbegin() [2/2]

template<typename TConstIterator, typename DistanceFunctor>
ConstReverseIterator DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >::rbegin ( const Point & aPoint) const
inline

Iterator service.

Parameters
aPointa Point
Returns
rbegin iterator

Definition at line 231 of file SimpleRandomAccessConstRangeFromPoint.h.

232 {
233 return ConstReverseIterator ( myBegin + myDistance ( aPoint ) + 1 );
234 }

◆ rc()

template<typename TConstIterator, typename DistanceFunctor>
ConstReverseCirculator DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >::rc ( ) const
inline

Circulator service.

Returns
a reverse circulator

Definition at line 259 of file SimpleRandomAccessConstRangeFromPoint.h.

260 {
261 return ConstReverseCirculator ( this->c() );
262 }
boost::reverse_iterator< ConstCirculator > ConstReverseCirculator

Referenced by SECTION().

◆ rend()

template<typename TConstIterator, typename DistanceFunctor>
ConstReverseIterator DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >::rend ( ) const
inline

Iterator service.

Returns
rend iterator

Definition at line 241 of file SimpleRandomAccessConstRangeFromPoint.h.

242 {
243 return ConstReverseIterator ( myBegin );
244 }

Referenced by SECTION(), and SECTION().

◆ selfDisplay()

template<typename TConstIterator, typename DistanceFunctor>
void DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >::selfDisplay ( std::ostream & out) const
inline

Writes/Displays the object on an output stream.

Parameters
outthe output stream where the object is written.

Definition at line 149 of file SimpleRandomAccessConstRangeFromPoint.h.

150 {
152 out << "[SimpleRandomAccessConstRangeFromPoint]" << std::endl;
153 out << "\t";
155 out << std::endl;
156 }

Field Documentation

◆ myBegin

template<typename TConstIterator, typename DistanceFunctor>
TConstIterator DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >::myBegin
private

◆ myDistance

◆ myEnd

template<typename TConstIterator, typename DistanceFunctor>
TConstIterator DGtal::SimpleRandomAccessConstRangeFromPoint< TConstIterator, DistanceFunctor >::myEnd
private

The documentation for this class was generated from the following file: