33#if defined(SimpleConstRange_RECURSES)
34#error Recursive header files inclusion detected in SimpleConstRange.h
37#define SimpleConstRange_RECURSES
39#if !defined SimpleConstRange_h
41#define SimpleConstRange_h
47#include "DGtal/base/BasicFunctors.h"
48#include "DGtal/base/Circulator.h"
49#include "DGtal/base/ConstIteratorAdapter.h"
50#include "boost/concept_check.hpp"
51#include "boost/iterator/reverse_iterator.hpp"
72 template <
typename TConstIterator>
113 if (
this != &other )
140 out <<
"[SimpleConstRange]" << std::endl;
142 std::copy(
myBegin,
myEnd, std::ostream_iterator<Value>(out,
", ") );
151 return "SimpleConstRange";
197 ConstReverseIterator
rend()
const {
197 ConstReverseIterator
rend()
const {
…}
205 ConstCirculator
c()
const {
205 ConstCirculator
c()
const {
…}
213 ConstReverseCirculator
rc()
const {
213 ConstReverseCirculator
rc()
const {
…}
226#undef SimpleConstRange_RECURSES
Aim: Provides an adapter for classical iterators that can iterate through the underlying data structu...
BOOST_CONCEPT_ASSERT((boost::BidirectionalIterator< TConstIterator >))
SimpleConstRange(const SimpleConstRange &other)
ConstIterator end() const
boost::reverse_iterator< ConstCirculator > ConstReverseCirculator
std::string className() const
ConstReverseIterator rbegin() const
ConstReverseCirculator rc() const
Circulator< ConstIterator > ConstCirculator
boost::reverse_iterator< ConstIterator > ConstReverseIterator
SimpleConstRange(const TConstIterator &itb, const TConstIterator &ite)
TConstIterator ConstIterator
ConstIterator begin() const
ConstReverseIterator rend() const
SimpleConstRange & operator=(const SimpleConstRange &other)
ConstCirculator c() const
void selfDisplay(std::ostream &out) const
DGtal is the top-level namespace which contains all DGtal functions and types.
Go to http://www.sgi.com/tech/stl/BidirectionalIterator.html.