OTB  9.0.0
Orfeo Toolbox
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
otb::ogr::DataSource::layer_iter< Value > Class Template Reference

#include <otbOGRDataSourceWrapper.h>

+ Inheritance diagram for otb::ogr::DataSource::layer_iter< Value >:
+ Collaboration diagram for otb::ogr::DataSource::layer_iter< Value >:

Classes

struct  enabler
 

Public Member Functions

 layer_iter ()
 
 layer_iter (container_type &datasource, vcl_size_t index)
 
template<class OtherValue >
 layer_iter (layer_iter< OtherValue > const &other, typename boost::enable_if< boost::is_convertible< OtherValue *, Value * >, enabler >::type=enabler())
 

Private Types

typedef boost::mpl::if_< boost::is_const< Value >, otb::ogr::DataSource const, otb::ogr::DataSource >::type container_type
 

Private Member Functions

Value dereference () const
 
template<class OtherValue >
bool equal (layer_iter< OtherValue > const &other) const
 
void increment ()
 

Private Attributes

container_typem_DataSource
 
vcl_size_t m_index
 

Friends

class boost::iterator_core_access
 
template<class >
class layer_iter
 

Detailed Description

template<class Value>
class otb::ogr::DataSource::layer_iter< Value >

Implementation class for Layer iterator.

See also
otb::ogr::Layer::iterator
otb::ogr::Layer::const_iterator
Note
Naming policy is compliant with C++ standard as the iterator functions are as well. This will permit transparent integration with all standard and boost algorithms, and C++11 for-range loops for instance.
See also
http://www.boost.org/doc/libs/1_49_0/libs/iterator/doc/iterator_facade.html#tutorial-example
Since
OTB v 3.14.0

Definition at line 212 of file otbOGRDataSourceWrapper.h.

Member Typedef Documentation

◆ container_type

template<class Value >
typedef boost::mpl::if_<boost::is_const<Value>, otb::ogr::DataSource const, otb::ogr::DataSource>::type otb::ogr::DataSource::layer_iter< Value >::container_type
private

Const-synchronized type of the DataSource container.

Definition at line 231 of file otbOGRDataSourceWrapper.h.

Constructor & Destructor Documentation

◆ layer_iter() [1/3]

template<class Value >
otb::ogr::DataSource::layer_iter< Value >::layer_iter ( container_type datasource,
vcl_size_t  index 
)

Definition at line 84 of file otbOGRDataSourceWrapper.hxx.

◆ layer_iter() [2/3]

template<class Value >
otb::ogr::DataSource::layer_iter< Value >::layer_iter ( )

Definition at line 89 of file otbOGRDataSourceWrapper.hxx.

◆ layer_iter() [3/3]

template<class Value >
template<class OtherValue >
otb::ogr::DataSource::layer_iter< Value >::layer_iter ( layer_iter< OtherValue > const &  other,
typename boost::enable_if< boost::is_convertible< OtherValue *, Value * >, enabler >::type  = enabler() 
)

Definition at line 95 of file otbOGRDataSourceWrapper.hxx.

Member Function Documentation

◆ dereference()

template<class Value >
Value otb::ogr::DataSource::layer_iter< Value >::dereference ( ) const
private

Definition at line 116 of file otbOGRDataSourceWrapper.hxx.

References otb::ogr::DataSource::m_DataSource.

◆ equal()

template<class Value >
template<class OtherValue >
bool otb::ogr::DataSource::layer_iter< Value >::equal ( layer_iter< OtherValue > const &  other) const
private

◆ increment()

template<class Value >
void otb::ogr::DataSource::layer_iter< Value >::increment ( )
private

Definition at line 109 of file otbOGRDataSourceWrapper.hxx.

References otb::ogr::DataSource::m_DataSource.

Friends And Related Function Documentation

◆ boost::iterator_core_access

template<class Value >
friend class boost::iterator_core_access
friend

Definition at line 241 of file otbOGRDataSourceWrapper.h.

◆ layer_iter

template<class Value >
template<class >
friend class layer_iter
friend

Definition at line 243 of file otbOGRDataSourceWrapper.h.

Member Data Documentation

◆ m_DataSource

template<class Value >
container_type* otb::ogr::DataSource::layer_iter< Value >::m_DataSource
private

◆ m_index

template<class Value >
vcl_size_t otb::ogr::DataSource::layer_iter< Value >::m_index
private

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