ITK  5.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Protected Attributes | 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 >:

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 42 of file itkNeighborhoodAllocator.h.

Public Types

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

Public Member Functions

 NeighborhoodAllocator ()
 
 NeighborhoodAllocator (const Self &other)
 
 NeighborhoodAllocator (Self &&other) noexcept
 
 ~NeighborhoodAllocator ()
 
void Allocate (unsigned int n)
 
void Deallocate ()
 
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)
 

Protected Attributes

TPixel * m_Data
 
unsigned int m_ElementCount {0}
 

Member Typedef Documentation

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

Definition at line 53 of file itkNeighborhoodAllocator.h.

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 52 of file itkNeighborhoodAllocator.h.

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

Standard class type aliases.

Definition at line 46 of file itkNeighborhoodAllocator.h.

Constructor & Destructor Documentation

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

Default constructor

Definition at line 56 of file itkNeighborhoodAllocator.h.

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

Default destructor

Definition at line 59 of file itkNeighborhoodAllocator.h.

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

Copy constructor.

Definition at line 79 of file itkNeighborhoodAllocator.h.

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

Move-constructor.

Definition at line 88 of file itkNeighborhoodAllocator.h.

Member Function Documentation

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

Allocates memory using new()

Definition at line 63 of file itkNeighborhoodAllocator.h.

Referenced by itk::NeighborhoodAllocator< InputImagePixelType >::set_size().

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

STL-style iterator support for the memory buffer.

Definition at line 128 of file itkNeighborhoodAllocator.h.

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

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

STL-style iterator support for the memory buffer.

Definition at line 130 of file itkNeighborhoodAllocator.h.

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

STL-style iterator support for the memory buffer.

Definition at line 132 of file itkNeighborhoodAllocator.h.

Referenced by itk::operator==().

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

STL-style iterator support for the memory buffer.

Definition at line 134 of file itkNeighborhoodAllocator.h.

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

Assignment operator.

Definition at line 99 of file itkNeighborhoodAllocator.h.

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

Move-assignment.

Definition at line 112 of file itkNeighborhoodAllocator.h.

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

Data access methods

Definition at line 141 of file itkNeighborhoodAllocator.h.

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

Data access methods

Definition at line 143 of file itkNeighborhoodAllocator.h.

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

Allocates or Reallocates a buffer of size n

Definition at line 148 of file itkNeighborhoodAllocator.h.

Referenced by itk::NeighborhoodAllocator< InputImagePixelType >::operator=().

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

STL-style iterator support for the memory buffer.

Definition at line 136 of file itkNeighborhoodAllocator.h.

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

Member Data Documentation

template<typename TPixel>
TPixel* itk::NeighborhoodAllocator< TPixel >::m_Data
protected
template<typename TPixel>
unsigned int itk::NeighborhoodAllocator< TPixel >::m_ElementCount {0}
protected

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