DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes
DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor > Class Template Reference

#include <SimpleRandomAccessRangeFromPoint.h>

Public Types

typedef DistanceFunctor::Point Point
typedef TIterator Iterator
typedef TConstIterator ConstIterator
typedef std::reverse_iterator
< Iterator
ReverseIterator
typedef std::reverse_iterator
< ConstIterator
ConstReverseIterator
typedef TIterator OutputIterator
typedef std::reverse_iterator
< Iterator
ReverseOutputIterator

Public Member Functions

 SimpleRandomAccessRangeFromPoint (const TIterator &itb, const TIterator &ite, const DistanceFunctor &aDistance)
 SimpleRandomAccessRangeFromPoint (const SimpleRandomAccessRangeFromPoint &other)
SimpleRandomAccessRangeFromPointoperator= (const SimpleRandomAccessRangeFromPoint &other)
 ~SimpleRandomAccessRangeFromPoint ()
bool isValid () const
void selfDisplay (std::ostream &out) const
std::string className () const
Iterator begin ()
Iterator begin (const Point &aPoint)
ConstIterator begin () const
ConstIterator begin (const Point &aPoint) const
Iterator end ()
ConstIterator end () const
OutputIterator outputIterator ()
OutputIterator outputIterator (const Point &aPoint)
ReverseOutputIterator routputIterator ()
ReverseOutputIterator routputIterator (const Point &aPoint)
ReverseIterator rbegin ()
ReverseIterator rbegin (const Point &aPoint)
ReverseIterator rend ()
ConstReverseIterator rbegin () const
ConstReverseIterator rbegin (const Point &aPoint) const
ConstReverseIterator rend () const

Private Member Functions

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

Private Attributes

TIterator myBegin
TIterator myEnd
DistanceFunctor myDistance

Detailed Description

template<typename TConstIterator, typename TIterator, typename DistanceFunctor>
class DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >

Aim: model of CBidirectionalRangeFromPoint 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:
TIteratorthe 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:
RangeAdapter

Definition at line 73 of file SimpleRandomAccessRangeFromPoint.h.


Member Typedef Documentation

template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
typedef TConstIterator DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::ConstIterator

Definition at line 87 of file SimpleRandomAccessRangeFromPoint.h.

template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
typedef std::reverse_iterator<ConstIterator> DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::ConstReverseIterator

Definition at line 90 of file SimpleRandomAccessRangeFromPoint.h.

template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
typedef TIterator DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::Iterator

Definition at line 86 of file SimpleRandomAccessRangeFromPoint.h.

template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
typedef TIterator DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::OutputIterator

Definition at line 92 of file SimpleRandomAccessRangeFromPoint.h.

template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
typedef DistanceFunctor::Point DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::Point

Definition at line 84 of file SimpleRandomAccessRangeFromPoint.h.

template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
typedef std::reverse_iterator<Iterator> DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::ReverseIterator

Definition at line 89 of file SimpleRandomAccessRangeFromPoint.h.

template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
typedef std::reverse_iterator<Iterator> DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::ReverseOutputIterator

Definition at line 93 of file SimpleRandomAccessRangeFromPoint.h.


Constructor & Destructor Documentation

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

Standard constructor from two iterators and one functor.

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

Definition at line 108 of file SimpleRandomAccessRangeFromPoint.h.

: myBegin ( itb ), myEnd ( ite ), myDistance ( aDistance ) {}
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::SimpleRandomAccessRangeFromPoint ( const SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor > &  other)
inline

Copy constructor.

Parameters:
otherthe iterator to clone.

Definition at line 117 of file SimpleRandomAccessRangeFromPoint.h.

: myBegin ( other.myBegin ), myEnd ( other.myEnd ),
myDistance ( other.myDistance ) {}
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::~SimpleRandomAccessRangeFromPoint ( )
inline

Destructor. Does nothing.

Definition at line 141 of file SimpleRandomAccessRangeFromPoint.h.

{}

Member Function Documentation

template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
Iterator DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::begin ( )
inline
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
Iterator DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::begin ( const Point aPoint)
inline
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
ConstIterator DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::begin ( ) const
inline

Iterator service.

Returns:
begin iterator

Definition at line 220 of file SimpleRandomAccessRangeFromPoint.h.

References DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::myBegin.

{
return ConstIterator ( myBegin );
}
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
ConstIterator DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::begin ( const Point aPoint) const
inline
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::BOOST_CONCEPT_ASSERT ( (boost::RandomAccessIterator< TIterator >)  )
private
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::BOOST_CONCEPT_ASSERT ( (boost::RandomAccessIterator< TConstIterator >)  )
private
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::BOOST_CONCEPT_ASSERT ( (boost::UnaryFunction< DistanceFunctor, typename DistanceFunctor::Difference, typename DistanceFunctor::Point >)  )
private
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
std::string DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::className ( ) const
inline
Returns:
the style name used for drawing this object.

Definition at line 169 of file SimpleRandomAccessRangeFromPoint.h.

{
return "SimpleRandomAccessRangeFromPoint";
}
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
Iterator DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::end ( )
inline
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
ConstIterator DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::end ( ) const
inline

Iterator service.

Returns:
end iterator

Definition at line 249 of file SimpleRandomAccessRangeFromPoint.h.

References DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::myEnd.

{
return ConstIterator ( myEnd );
}
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
bool DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::isValid ( ) const
inline

Checks the validity/consistency of the object.

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

Definition at line 147 of file SimpleRandomAccessRangeFromPoint.h.

{
return true;
}
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
SimpleRandomAccessRangeFromPoint& DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::operator= ( const SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor > &  other)
inline
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
OutputIterator DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::outputIterator ( )
inline

OutputIterator service.

Returns:
an output itertor on the first elements

Definition at line 258 of file SimpleRandomAccessRangeFromPoint.h.

References DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::myBegin.

{
return OutputIterator ( myBegin );
}
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
OutputIterator DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::outputIterator ( const Point aPoint)
inline
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
ReverseIterator DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::rbegin ( )
inline

Iterator service.

Returns:
rbegin iterator

Definition at line 298 of file SimpleRandomAccessRangeFromPoint.h.

References DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::end().

{
return ReverseIterator ( this->end() );
}
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
ReverseIterator DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::rbegin ( const Point aPoint)
inline
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
ConstReverseIterator DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::rbegin ( ) const
inline

Iterator service.

Returns:
rbegin iterator

Definition at line 328 of file SimpleRandomAccessRangeFromPoint.h.

References DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::end().

{
return ConstReverseIterator ( this->end() );
}
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
ConstReverseIterator DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::rbegin ( const Point aPoint) const
inline
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
ReverseIterator DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::rend ( )
inline

Iterator service.

Returns:
rend iterator

Definition at line 318 of file SimpleRandomAccessRangeFromPoint.h.

References DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::begin().

{
return ReverseIterator ( this->begin() );
}
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
ConstReverseIterator DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::rend ( ) const
inline

Iterator service.

Returns:
rend iterator

Definition at line 348 of file SimpleRandomAccessRangeFromPoint.h.

References DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::begin().

{
return ConstReverseIterator ( this->begin() );
}
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
ReverseOutputIterator DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::routputIterator ( )
inline

ReverseOutputIterator service.

Returns:
an output itertor on the first elements

Definition at line 277 of file SimpleRandomAccessRangeFromPoint.h.

References DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::myBegin.

{
}
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
ReverseOutputIterator DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::routputIterator ( const Point aPoint)
inline

ReverseOutputIterator service.

Parameters:
aPointa point
Returns:
an output itertor on the point

Definition at line 287 of file SimpleRandomAccessRangeFromPoint.h.

References DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::myBegin, and DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::myDistance.

{
return ReverseOutputIterator ( myBegin ) + myDistance ( aPoint ) ;
}
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
void DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, 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 157 of file SimpleRandomAccessRangeFromPoint.h.

References DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::myBegin, and DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::myEnd.

{
out << "[SimpleRandomAccessRangeFromPoint]" << std::endl;
out << "\t";
std::copy ( myBegin, myEnd, ostream_iterator<Value> ( out, ", " ) );
out << std::endl;
}

Field Documentation

template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
TIterator DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::myBegin
private
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
DistanceFunctor DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::myDistance
private
template<typename TConstIterator , typename TIterator , typename DistanceFunctor >
TIterator DGtal::SimpleRandomAccessRangeFromPoint< TConstIterator, TIterator, DistanceFunctor >::myEnd
private

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