![]() |
ITK
5.4.0
Insight Toolkit
|
#include <itkIndexRange.h>
Classes | |
class | const_iterator |
Public Types | |
using | const_reverse_iterator = std::reverse_iterator< const_iterator > |
using | IndexType = Index< VDimension > |
using | iterator = const_iterator |
using | reverse_iterator = std::reverse_iterator< iterator > |
using | SizeType = Size< VDimension > |
Public Member Functions | |
iterator | begin () const noexcept |
const_iterator | cbegin () const noexcept |
const_iterator | cend () const noexcept |
const_reverse_iterator | crbegin () const noexcept |
const_reverse_iterator | crend () const noexcept |
bool | empty () const noexcept |
IndexRange ()=default | |
IndexRange (const SizeType &gridSize) | |
reverse_iterator | rbegin () const noexcept |
reverse_iterator | rend () const noexcept |
vcl_size_t | size () const noexcept |
template<bool VIsSubstitutionFailure = VBeginAtZero, typename TVoid = std::enable_if_t<!VIsSubstitutionFailure>> | |
IndexRange (const ImageRegion< VDimension > &imageRegion) | |
iterator | end () const noexcept |
Static Public Attributes | |
static constexpr unsigned int | Dimension = VDimension |
Private Types | |
using | MinIndexType = typename iterator::MinIndexType |
Static Private Member Functions | |
static IndexType | CalculateMaxIndex (const MinIndexType &minIndex, const SizeType &size) |
Private Attributes | |
IndexType | m_MaxIndex = IndexType::Filled(-1) |
MinIndexType | m_MinIndex {} |
Modern C++11 range, supporting efficient iteration over the indices of an image grid space.
The following example prints all indices of an 2-D grid space of size 2x3.
The indices from IndexRange can also be used as consecutive locations of a ShapedImageNeighborhoodRange, for example:
IndexRange is designed to conform to Standard C++ Iterator requirements, so that it can be used in range-based for loop, and its iterators can be passed to Standard C++ algorithms.
Definition at line 78 of file itkIndexRange.h.
using itk::IndexRange< VDimension, VBeginAtZero >::const_reverse_iterator = std::reverse_iterator<const_iterator> |
Definition at line 292 of file itkIndexRange.h.
using itk::IndexRange< VDimension, VBeginAtZero >::IndexType = Index<VDimension> |
Definition at line 83 of file itkIndexRange.h.
using itk::IndexRange< VDimension, VBeginAtZero >::iterator = const_iterator |
Definition at line 290 of file itkIndexRange.h.
|
private |
Definition at line 422 of file itkIndexRange.h.
using itk::IndexRange< VDimension, VBeginAtZero >::reverse_iterator = std::reverse_iterator<iterator> |
Definition at line 291 of file itkIndexRange.h.
using itk::IndexRange< VDimension, VBeginAtZero >::SizeType = Size<VDimension> |
Definition at line 82 of file itkIndexRange.h.
|
default |
Explicitly defaulted default-constructor. Constructs an empty range.
|
inlineexplicit |
Constructs a range of indices for the specified grid size.
Definition at line 304 of file itkIndexRange.h.
|
inlineexplicit |
Constructs a range of indices for the specified image region.
Definition at line 318 of file itkIndexRange.h.
|
inlinenoexcept |
Returns an iterator to the first index.
Definition at line 336 of file itkIndexRange.h.
References itk::IndexRange< VDimension, VBeginAtZero >::m_MaxIndex, and itk::IndexRange< VDimension, VBeginAtZero >::m_MinIndex.
Referenced by itk::IndexRange< VDimension, VBeginAtZero >::cbegin(), and itk::IndexRange< VDimension, VBeginAtZero >::rend().
|
inlinestaticprivate |
Definition at line 425 of file itkIndexRange.h.
References itk::IndexRange< VDimension, VBeginAtZero >::size().
|
inlinenoexcept |
Returns a const iterator to the first index. Provides only read-only access to the index data.
Definition at line 354 of file itkIndexRange.h.
References itk::IndexRange< VDimension, VBeginAtZero >::begin().
|
inlinenoexcept |
Returns a const 'end iterator' for this range.
Definition at line 361 of file itkIndexRange.h.
References itk::IndexRange< VDimension, VBeginAtZero >::end().
|
inlinenoexcept |
Returns a const reverse 'begin iterator' for this range.
Definition at line 382 of file itkIndexRange.h.
References itk::IndexRange< VDimension, VBeginAtZero >::rbegin().
|
inlinenoexcept |
Returns a const reverse 'end iterator' for this range.
Definition at line 389 of file itkIndexRange.h.
References itk::IndexRange< VDimension, VBeginAtZero >::rend().
|
inlinenoexcept |
Tells whether the range is empty.
Definition at line 411 of file itkIndexRange.h.
References itk::IndexRange< VDimension, VBeginAtZero >::m_MaxIndex, and itk::IndexRange< VDimension, VBeginAtZero >::m_MinIndex.
|
inlinenoexcept |
Returns an 'end iterator' for this range.
Definition at line 343 of file itkIndexRange.h.
References itk::Index< VDimension >::back(), itk::IndexRange< VDimension, VBeginAtZero >::m_MaxIndex, and itk::IndexRange< VDimension, VBeginAtZero >::m_MinIndex.
Referenced by itk::IndexRange< VDimension, VBeginAtZero >::cend(), and itk::IndexRange< VDimension, VBeginAtZero >::rbegin().
|
inlinenoexcept |
Returns a reverse 'begin iterator' for this range.
Definition at line 368 of file itkIndexRange.h.
References itk::IndexRange< VDimension, VBeginAtZero >::end().
Referenced by itk::IndexRange< VDimension, VBeginAtZero >::crbegin().
|
inlinenoexcept |
Returns a reverse 'end iterator' for this range.
Definition at line 375 of file itkIndexRange.h.
References itk::IndexRange< VDimension, VBeginAtZero >::begin().
Referenced by itk::IndexRange< VDimension, VBeginAtZero >::crend().
|
inlinenoexcept |
Returns the size of the range, that is the number of indices.
Definition at line 397 of file itkIndexRange.h.
References itk::IndexRange< VDimension, VBeginAtZero >::m_MaxIndex, and itk::IndexRange< VDimension, VBeginAtZero >::m_MinIndex.
Referenced by itk::IndexRange< VDimension, VBeginAtZero >::CalculateMaxIndex().
|
staticconstexpr |
Definition at line 81 of file itkIndexRange.h.
|
private |
|
private |