23#include "vnl/vnl_matrix.h" 
   41template <
typename TValue>
 
   42class ITK_TEMPLATE_EXPORT 
Array2D : 
public vnl_matrix<TValue>
 
   54  Array2D(
unsigned int numberOfRows, 
unsigned int numberOfCols);
 
   58  Array2D(
unsigned int numberOfRows, 
unsigned int numberOfCols, 
const TValue & initialValue);
 
   67    : vnl_matrix<TValue>(std::move(array))
 
 
   86    this->VnlMatrixType::operator=(std::move(array));
 
 
  101  [[nodiscard]] 
const TValue &
 
  104    return this->operator()(
static_cast<unsigned int>(row), 
static_cast<unsigned int>(col));
 
 
  111    this->operator()(
static_cast<unsigned int>(row), 
static_cast<unsigned int>(col)) = value;
 
 
 
  122template <
typename TValue>
 
  126  const unsigned int numberOfRows = arr.rows();
 
  127  const unsigned int numberOfColumns = arr.cols();
 
  129  for (
unsigned int r = 0; r < numberOfRows; ++r)
 
  132    if (numberOfColumns >= 1)
 
  134      const unsigned int lastColumn = numberOfColumns - 1;
 
  135      for (
unsigned int c = 0; c < lastColumn; ++c)
 
  137        os << arr(r, c) << 
", ";
 
  139      os << arr(r, lastColumn);
 
  141    os << 
']' << std::endl;
 
 
  149ITKCommon_EXPORT std::ostream &
 
  152ITKCommon_EXPORT std::ostream &
 
  157#ifndef ITK_MANUAL_INSTANTIATION 
  158#  include "itkArray2D.hxx" 
Array2D class representing a 2D array.
Array2D(const Self &)=default
Self & operator=(const VnlMatrixType &matrix)
void SetElement(SizeValueType row, SizeValueType col, const TValue &value)
~Array2D() override=default
vnl_matrix< TValue > VnlMatrixType
Array2D(unsigned int numberOfRows, unsigned int numberOfCols, const TValue &initialValue)
Self & operator=(Self &&array) noexcept
void Fill(const TValue &v)
Self & operator=(const Self &)=default
Array2D(unsigned int numberOfRows, unsigned int numberOfCols)
void SetSize(unsigned int m, unsigned int n)
const TValue & GetElement(SizeValueType row, SizeValueType col) const
Array2D(const VnlMatrixType &matrix)
Array2D(Self &&array) noexcept
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType
ITKCommon_EXPORT std::ostream & operator<<(std::ostream &out, typename AnatomicalOrientation::CoordinateEnum value)