Array class with size defined at construction time. More...
#include <itkArray.h>
Public Types | |
typedef Array | Self |
typedef TValueType | ValueType |
typedef vnl_vector< TValueType > | VnlVectorType |
Public Member Functions | |
Array () | |
Array (unsigned int dimension) | |
Array (const ValueType *data, unsigned int sz, bool LetArrayManageMemory=false) | |
Array (ValueType *data, unsigned int sz, bool LetArrayManageMemory=false) | |
void | Fill (TValueType const &v) |
const TValueType & | GetElement (unsigned int i) const |
void | SetData (TValueType *data, unsigned int sz, bool LetArrayManageMemory=false) |
void | SetData (TValueType *data, bool LetArrayManageMemory=false) |
void | SetElement (unsigned int i, const TValueType &value) |
~Array () | |
const Self & | operator= (const Self &rhs) |
const Self & | operator= (const VnlVectorType &rhs) |
unsigned int | Size (void) const |
unsigned int | GetNumberOfElements (void) const |
void | SetSize (unsigned int sz) |
unsigned int | GetSize (void) const |
Array class with size defined at construction time.
This class derives from the vnl_vector<> class. Its size is assigned at construction time (run time) and can not be changed afterwards except by using assignment to another Array.
The class is templated over the type of the elements.
Template parameters for class Array:
Definition at line 44 of file itkArray.h.
typedef Array itk::Array< TValueType >::Self |
Definition at line 50 of file itkArray.h.
typedef TValueType itk::Array< TValueType >::ValueType |
The element type stored at each location in the Array.
Definition at line 49 of file itkArray.h.
typedef vnl_vector<TValueType> itk::Array< TValueType >::VnlVectorType |
Definition at line 51 of file itkArray.h.
itk::Array< TValueType >::Array | ( | ) |
Default constructor. It is created with an empty array it has to be allocated later by assignment
itk::Array< TValueType >::Array | ( | unsigned int | dimension | ) | [explicit] |
Constructor with size. Size can only be changed by assignment
itk::Array< TValueType >::Array | ( | ValueType * | data, | |
unsigned int | sz, | |||
bool | LetArrayManageMemory = false | |||
) |
Constructor that initializes array with contents from a user supplied buffer. The pointer to the buffer and the length is specified. By default, the array does not manage the memory of the buffer. It merely points to that location and it is the user's responsibility to delete it. If "LetArrayManageMemory" is true, then this class will free the memory when this object is destroyed.
itk::Array< TValueType >::Array | ( | const ValueType * | data, | |
unsigned int | sz, | |||
bool | LetArrayManageMemory = false | |||
) |
Constructor that initializes array with contents from a user supplied buffer. The pointer to the buffer and the length is specified. By default, the array does not manage the memory of the buffer. It merely points to that location and it is the user's responsibility to delete it. If "LetArrayManageMemory" is true, then this class will free the memory when this object is destroyed.
itk::Array< TValueType >::~Array | ( | ) |
This destructor is not virtual for performance reasons. However, this means that subclasses cannot allocate memory.
void itk::Array< TValueType >::Fill | ( | TValueType const & | v | ) | [inline] |
Set the all the elements of the array to the specified value
Definition at line 81 of file itkArray.h.
Referenced by itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::GetDerivative(), itk::Statistics::MeasurementVectorTraits::SetLength(), and itk::MeasurementVectorTraits::SetLength().
const TValueType& itk::Array< TValueType >::GetElement | ( | unsigned int | i | ) | const [inline] |
Get one element
Definition at line 96 of file itkArray.h.
unsigned int itk::Array< TValueType >::GetNumberOfElements | ( | void | ) | const [inline] |
Return the number of elements in the Array
Definition at line 91 of file itkArray.h.
unsigned int itk::Array< TValueType >::GetSize | ( | void | ) | const [inline] |
Destructively set the size to that given. Will lose data.
Definition at line 105 of file itkArray.h.
Referenced by itk::Statistics::MeasurementVectorTraits::GetLength(), itk::MeasurementVectorTraits::GetLength(), itk::MetaArrayWriter::SetMultiChannelInput(), and itk::Statistics::ProbabilityDistribution::SetParameters().
const Self& itk::Array< TValueType >::operator= | ( | const Self & | rhs | ) |
Copy opertor
const Self& itk::Array< TValueType >::operator= | ( | const VnlVectorType & | rhs | ) |
Copy opertor
void itk::Array< TValueType >::SetData | ( | TValueType * | data, | |
bool | LetArrayManageMemory = false | |||
) |
Set the pointer from which the data is imported. If "LetArrayManageMemory" is false, then the application retains the responsibility of freeing the memory for this data. If "LetArrayManageMemory" is true, then this class will free the memory when this object is destroyed.
Referenced by itk::MetaArrayReader::GetOutput().
void itk::Array< TValueType >::SetData | ( | TValueType * | data, | |
unsigned int | sz, | |||
bool | LetArrayManageMemory = false | |||
) |
Similar to the previous method. In the above method, the size must be seperately set prior to using user-supplied data. This introduces an unnecessary allocation step to be performed. This method avoids it and should be used to import data whereever possible to avoid this. Set the pointer from which the data is imported. If "LetArrayManageMemory" is false, then the application retains the responsibility of freeing the memory for this data. If "LetArrayManageMemory" is true, then this class will free the memory when this object is destroyed.
void itk::Array< TValueType >::SetElement | ( | unsigned int | i, | |
const TValueType & | value | |||
) | [inline] |
Set one element
Definition at line 100 of file itkArray.h.
void itk::Array< TValueType >::SetSize | ( | unsigned int | sz | ) |
Destructively set the size to that given. Will lose data.
Referenced by itk::MetaArrayReader::GetMultiChannelOutput(), itk::Statistics::MeasurementVectorTraits::SetLength(), and itk::MeasurementVectorTraits::SetLength().
unsigned int itk::Array< TValueType >::Size | ( | void | ) | const [inline] |
Return the number of elements in the Array
Definition at line 89 of file itkArray.h.
Referenced by itk::Statistics::MeasurementVectorTraits::Assert(), itk::MeasurementVectorTraits::Assert(), itk::AutomaticTopologyMeshSource< TOutputMesh >::IdentifierArrayEqualsFunction::operator()(), itk::AutomaticTopologyMeshSource< TOutputMesh >::IdentifierArrayHashFunction::operator()(), itk::Statistics::NeighborhoodSampler< TSample >::SetCenter(), itk::MetaArrayWriter::SetInput(), and itk::Statistics::GaussianDensityFunction< TMeasurementVector >::SetMean().