ITK  5.3.0
Insight Toolkit
Public Types | Public Member Functions | List of all members
itk::NeighborhoodAllocator< TPixel > Class Template Reference

#include <itkNeighborhoodAllocator.h>

+ Inheritance diagram for itk::NeighborhoodAllocator< TPixel >:
+ Collaboration diagram for itk::NeighborhoodAllocator< TPixel >:

Public Types

using const_iterator = const TPixel *
 
using iterator = TPixel *
 
using Self = NeighborhoodAllocator
 

Public Member Functions

 NeighborhoodAllocator ()=default
 
 ~NeighborhoodAllocator ()=default
 
unsigned int m_ElementCount { 0 }
 
std::unique_ptr< TPixel[]> m_Data
 
void Allocate (unsigned int n)
 
void Deallocate ()
 
 NeighborhoodAllocator (const Self &other)
 
 NeighborhoodAllocator (Self &&other) noexcept
 
Selfoperator= (const Self &other)
 
Selfoperator= (Self &&other) noexcept
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
unsigned int size () const
 
const TPixel & operator[] (unsigned int i) const
 
TPixel & operator[] (unsigned int i)
 
void set_size (unsigned int n)
 
TPixel * data () noexcept
 
const TPixel * data () const noexcept
 

Detailed Description

template<typename TPixel>
class itk::NeighborhoodAllocator< TPixel >

A memory allocator for use as the default allocator type in Neighborhood.

This is a memory allocator for use as the default allocator type in Neighborhood. The API is designed to mimic that of vnl_vector so that vnl_vector can also be used as an allocator for Neighborhood.

The decision to create this allocator with the vnl_vector api (versus using an STL allocator and wrapping the vnl_vector API) was made because the STL allocator API is not guaranteed stable at this time.

Definition at line 43 of file itkNeighborhoodAllocator.h.

Member Typedef Documentation

◆ const_iterator

template<typename TPixel>
using itk::NeighborhoodAllocator< TPixel >::const_iterator = const TPixel *

Definition at line 54 of file itkNeighborhoodAllocator.h.

◆ iterator

template<typename TPixel>
using itk::NeighborhoodAllocator< TPixel >::iterator = TPixel *

Iterator support. Note that the naming of the type alias is on purpose. itk::Neighborhood makes reference to the allocator, which because it may be vnl or other type, uses the lower case/underscore forms iterator and const_iterator.

Definition at line 53 of file itkNeighborhoodAllocator.h.

◆ Self

template<typename TPixel>
using itk::NeighborhoodAllocator< TPixel >::Self = NeighborhoodAllocator

Standard class type aliases.

Definition at line 47 of file itkNeighborhoodAllocator.h.

Constructor & Destructor Documentation

◆ NeighborhoodAllocator() [1/3]

template<typename TPixel>
itk::NeighborhoodAllocator< TPixel >::NeighborhoodAllocator ( )
default

◆ ~NeighborhoodAllocator()

template<typename TPixel>
itk::NeighborhoodAllocator< TPixel >::~NeighborhoodAllocator ( )
default

Defaulted destructor

◆ NeighborhoodAllocator() [2/3]

template<typename TPixel>
itk::NeighborhoodAllocator< TPixel >::NeighborhoodAllocator ( const Self other)
inline

Copy constructor.

Definition at line 81 of file itkNeighborhoodAllocator.h.

◆ NeighborhoodAllocator() [3/3]

template<typename TPixel>
itk::NeighborhoodAllocator< TPixel >::NeighborhoodAllocator ( Self &&  other)
inlinenoexcept

Move-constructor.

Definition at line 90 of file itkNeighborhoodAllocator.h.

Member Function Documentation

◆ Allocate()

template<typename TPixel>
void itk::NeighborhoodAllocator< TPixel >::Allocate ( unsigned int  n)
inline

Allocates memory using new()

Definition at line 64 of file itkNeighborhoodAllocator.h.

◆ begin() [1/2]

template<typename TPixel>
iterator itk::NeighborhoodAllocator< TPixel >::begin ( )
inline

STL-style iterator support for the memory buffer.

Definition at line 130 of file itkNeighborhoodAllocator.h.

Referenced by itk::operator<<(), and itk::operator==().

◆ begin() [2/2]

template<typename TPixel>
const_iterator itk::NeighborhoodAllocator< TPixel >::begin ( ) const
inline

Allocates memory using new()

Definition at line 135 of file itkNeighborhoodAllocator.h.

◆ data() [1/2]

template<typename TPixel>
const TPixel* itk::NeighborhoodAllocator< TPixel >::data ( ) const
inlinenoexcept

Allocates memory using new()

Definition at line 181 of file itkNeighborhoodAllocator.h.

◆ data() [2/2]

template<typename TPixel>
TPixel* itk::NeighborhoodAllocator< TPixel >::data ( )
inlinenoexcept

Allocates memory using new()

Definition at line 175 of file itkNeighborhoodAllocator.h.

◆ Deallocate()

template<typename TPixel>
void itk::NeighborhoodAllocator< TPixel >::Deallocate ( )
inline

Deallocates memory using delete[]().

Definition at line 73 of file itkNeighborhoodAllocator.h.

◆ end() [1/2]

template<typename TPixel>
iterator itk::NeighborhoodAllocator< TPixel >::end ( )
inline

Allocates memory using new()

Definition at line 140 of file itkNeighborhoodAllocator.h.

Referenced by itk::operator==().

◆ end() [2/2]

template<typename TPixel>
const_iterator itk::NeighborhoodAllocator< TPixel >::end ( ) const
inline

Allocates memory using new()

Definition at line 145 of file itkNeighborhoodAllocator.h.

◆ operator=() [1/2]

template<typename TPixel>
Self& itk::NeighborhoodAllocator< TPixel >::operator= ( const Self other)
inline

Assignment operator.

Definition at line 101 of file itkNeighborhoodAllocator.h.

◆ operator=() [2/2]

template<typename TPixel>
Self& itk::NeighborhoodAllocator< TPixel >::operator= ( Self &&  other)
inlinenoexcept

Move-assignment.

Definition at line 115 of file itkNeighborhoodAllocator.h.

◆ operator[]() [1/2]

template<typename TPixel>
TPixel& itk::NeighborhoodAllocator< TPixel >::operator[] ( unsigned int  i)
inline

Allocates memory using new()

Definition at line 158 of file itkNeighborhoodAllocator.h.

◆ operator[]() [2/2]

template<typename TPixel>
const TPixel& itk::NeighborhoodAllocator< TPixel >::operator[] ( unsigned int  i) const
inline

Data access methods

Definition at line 157 of file itkNeighborhoodAllocator.h.

◆ set_size()

template<typename TPixel>
void itk::NeighborhoodAllocator< TPixel >::set_size ( unsigned int  n)
inline

Allocates a buffer of size n

Definition at line 163 of file itkNeighborhoodAllocator.h.

Referenced by itk::NeighborhoodAllocator< ImageType ::InternalPixelType * >::operator=().

◆ size()

template<typename TPixel>
unsigned int itk::NeighborhoodAllocator< TPixel >::size ( ) const
inline

Allocates memory using new()

Definition at line 150 of file itkNeighborhoodAllocator.h.

Referenced by itk::operator<<(), and itk::operator==().

Member Data Documentation

◆ m_Data

template<typename TPixel>
std::unique_ptr<TPixel[]> itk::NeighborhoodAllocator< TPixel >::m_Data
private

◆ m_ElementCount

template<typename TPixel>
unsigned int itk::NeighborhoodAllocator< TPixel >::m_ElementCount { 0 }
private

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