template<typename T T>
gtopt::MultiArray2D class

Minimal 2D array wrapper around std::vector.

Template parameters
T Element type

Provides a simple 2D array interface compatible with boost::multi_array usage in the gtopt codebase. Supports:

  • 2D indexing via operator[]
  • empty() to check initialization
  • Default construction (empty state)
  • Construction with dimensions

Row access returns std::span for size-aware sub-range views.

Constructors, destructors, conversion operators

MultiArray2D() defaulted
Default constructor - creates empty array.
MultiArray2D(size_t dim1, size_t dim2)
Construct with dimensions.

Public functions

auto empty() const -> bool noexcept
Check if array is empty (uninitialized)
auto operator[](this auto&& self, size_t i) -> auto
2D indexing - first dimension access
auto size() const -> size_t noexcept
Get first dimension size.

Function documentation

template<typename T T>
gtopt::MultiArray2D<T>::MultiArray2D(size_t dim1, size_t dim2)

Construct with dimensions.

Parameters
dim1 First dimension size
dim2 Second dimension size

template<typename T T>
auto gtopt::MultiArray2D<T>::operator[](this auto&& self, size_t i)

2D indexing - first dimension access

Uses explicit object parameter (deducing this) to provide both const and non-const access in a single definition.