GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
dim_vector Class Reference

Vector representing the dimensions (size) of an Array. More...

#include "dim-vector.h"

Collaboration diagram for dim_vector:

Public Member Functions

template<typename... Ints>
 dim_vector (const octave_idx_type r, const octave_idx_type c, Ints... lengths)
 Construct dim_vector for a N dimensional array. More...
 
 dim_vector (void)
 
 dim_vector (const dim_vector &dv)
 
 dim_vector (octave_idx_type *r)
 
 ~dim_vector (void)
 
bool all_ones (void) const
 
bool all_zero (void) const
 
bool any_neg (void) const
 
bool any_zero (void) const
 
Array< octave_idx_typeas_array (void) const
 
dim_vector as_column (void) const
 
dim_vector as_row (void) const
 
void chop_all_singletons (void)
 
void chop_trailing_singletons (void)
 
octave_idx_type compute_index (const octave_idx_type *idx) const
 Linear index from an index tuple. More...
 
octave_idx_type compute_index (const octave_idx_type *idx, int nidx) const
 Linear index from an incomplete index tuple (nidx < length ()). More...
 
bool concat (const dim_vector &dvb, int dim)
 This corresponds to cat(). More...
 
octave_idx_type cum_compute_index (const octave_idx_type *idx) const
 Compute a linear index from an index tuple. More...
 
dim_vector cumulative (void) const
 Return cumulative dimensions. More...
 
octave_idx_typeelem (int i)
 
octave_idx_type elem (int i) const
 
bool empty_2d (void) const
 
int first_non_singleton (int def=0) const
 
bool hvcat (const dim_vector &dvb, int dim)
 This corresponds to [,] (horzcat, dim = 0) and [;] (vertcat, dim = 1). More...
 
int increment_index (octave_idx_type *idx, int start=0) const
 Increment a multi-dimensional index tuple, optionally starting from an offset position and return the index of the last index position that was changed, or length () if just cycled over. More...
 
bool is_nd_vector (void) const
 
bool is_vector (void) const
 
bool isvector (void) const
 
int length (void) const
 Number of dimensions. More...
 
dim_vector make_nd_vector (octave_idx_type n) const
 
octave_idx_type ndims (void) const
 Number of dimensions. More...
 
int num_ones (void) const
 
octave_idx_type numel (int n=0) const
 Number of elements that a matrix with this dimensions would have. More...
 
octave_idx_typeoperator() (int i)
 
octave_idx_type operator() (int i) const
 
dim_vectoroperator= (const dim_vector &dv)
 
dim_vector redim (int n) const
 Force certain dimensionality, preserving numel (). More...
 
void resize (int n, int fill_value=0)
 
octave_idx_type safe_numel (void) const
 The following function will throw a std::bad_alloc () exception if the requested size is larger than can be indexed by octave_idx_type. More...
 
dim_vector squeeze (void) const
 
std::string str (char sep='x') const
 
octave_idx_typeto_jit (void) const
 
octave_idx_typexelem (int i)
 
octave_idx_type xelem (int i) const
 
bool zero_by_zero (void) const
 

Static Public Member Functions

static dim_vector alloc (int n)
 
static octave_idx_type dim_max (void)
 

Private Member Functions

octave_idx_typeclonerep (void)
 Clone this->rep. More...
 
octave_idx_typecount (void) const
 
void freerep (void)
 Free the rep. More...
 
void make_unique (void)
 
octave_idx_typeresizerep (int n, octave_idx_type fill_value)
 Clone and resize this->rep to length n, filling by given value. More...
 

Static Private Member Functions

static octave_idx_typenewrep (int ndims)
 Construct a new rep with count = 1 and ndims given. More...
 
static octave_idx_typenil_rep (void)
 

Private Attributes

octave_idx_typerep
 

Friends

bool operator== (const dim_vector &a, const dim_vector &b)
 

Detailed Description

Vector representing the dimensions (size) of an Array.

A dim_vector is used to represent dimensions of an Array. It is used on its constructor to specify its size, or when reshaping it.

// Matrix with 10 rows and 20 columns.
Matrix m Matrix (dim_vector (10, 20));
// Change its size to 5 rows and 40 columns.
Matrix m2 = m.reshape (dim_vector (5, 40));
// Five dimensional Array of length 10, 20, 3, 8, 7 on each dimension.
NDArray a (dim_vector (10, 20, 3, 8, 7));
// Uninitialized array of same size as other.
NDArray b (a.dims ());

The main thing to understand about this class, is that methods such as ndims() and numel(), return the value for an Array of these dimensions, not the actual number of elements in the dim_vector.

dim_vector d (10, 5, 3);
octave_idx_type n = d.numel (); // returns 150
octave_idx_type nd = d.ndims (); // returns 3

Implementation details

This implementation is more tricky than Array, but the big plus is that dim_vector requires only one allocation instead of two. It is (slightly) patterned after GCC's basic_string implementation. rep is a pointer to an array of memory, comprising count, length, and the data:

//!        <count>
//!        <ndims>
//! rep --> <dims[0]>
//!        <dims[1]>
//!        ...
//! 
The inlines count(), ndims() recover this data from the rep.  Note
that rep points to the beginning of dims to grant faster access
(reinterpret_cast is assumed to be an inexpensive operation).  

Definition at line 87 of file dim-vector.h.

Constructor & Destructor Documentation

◆ dim_vector() [1/4]

template<typename... Ints>
dim_vector::dim_vector ( const octave_idx_type  r,
const octave_idx_type  c,
Ints...  lengths 
)
inline

Construct dim_vector for a N dimensional array.

Each argument to constructor defines the length of an additional dimension. A dim_vector always represents a minimum of 2 dimensions (just like an Array has at least 2 dimensions) and there is no upper limit on the number of dimensions.

dim_vector dv (7, 5);
Matrix mat (dv);

The constructed dim_vector dv will have two elements, $[7, 5]$, one for each dimension. It can then be used to construct a Matrix with such dimensions, i.e., 7 rows and 5 columns.

NDArray x (dim_vector (7, 5, 10));

This will construct a 3 dimensional NDArray of lengths 7, 5, and 10, on the first, second, and third dimension (rows, columns, and pages) respectively.

Note that that there is no constructor that accepts only one dimension length to avoid confusion. The source for such confusion is that constructor could mean:

  • a column vector, i.e., assume $[N, 1]$;
  • a square matrix, i.e., as is common in Octave interpreter;
  • support for a 1 dimensional Array (does not exist);

Using r, c, and lengths... as arguments, allow us to check at compile time that there's at least 2 dimensions specified, while maintaining type safety.

Definition at line 201 of file dim-vector.h.

References c, and Array< T >::rep.

◆ dim_vector() [2/4]

dim_vector::dim_vector ( void  )
inlineexplicit

Definition at line 255 of file dim-vector.h.

References OCTAVE_ATOMIC_INCREMENT.

Referenced by hvcat().

◆ dim_vector() [3/4]

dim_vector::dim_vector ( const dim_vector dv)
inline

Definition at line 258 of file dim-vector.h.

References OCTAVE_ATOMIC_INCREMENT.

◆ dim_vector() [4/4]

dim_vector::dim_vector ( octave_idx_type r)
inlineexplicit

Definition at line 262 of file dim-vector.h.

◆ ~dim_vector()

dim_vector::~dim_vector ( void  )
inline

Definition at line 283 of file dim-vector.h.

References OCTAVE_ATOMIC_DECREMENT.

Member Function Documentation

◆ all_ones()

◆ all_zero()

bool dim_vector::all_zero ( void  ) const
inline

◆ alloc()

◆ any_neg()

bool dim_vector::any_neg ( void  ) const
inline

Definition at line 384 of file dim-vector.h.

References Array< T >::ndims(), and Array< T >::rep.

Referenced by Array< octave_value >::resize().

◆ any_zero()

◆ as_array()

Array< octave_idx_type > dim_vector::as_array ( void  ) const

Definition at line 273 of file dim-vector.cc.

References elem(), i, ndims(), and retval.

Referenced by octave_base_value::dump().

◆ as_column()

dim_vector dim_vector::as_column ( void  ) const
inline

Definition at line 406 of file dim-vector.h.

References Array< T >::ndims(), numel(), and Array< T >::xelem().

◆ as_row()

dim_vector dim_vector::as_row ( void  ) const
inline

Definition at line 414 of file dim-vector.h.

References Array< T >::ndims(), numel(), and Array< T >::xelem().

Referenced by squeeze().

◆ chop_all_singletons()

void dim_vector::chop_all_singletons ( void  )

Definition at line 53 of file dim-vector.cc.

References i, make_unique(), ndims(), and rep.

Referenced by Array< octave_value >::assign(), squeeze(), and zero_dims_inquire().

◆ chop_trailing_singletons()

◆ clonerep()

octave_idx_type* dim_vector::clonerep ( void  )
inlineprivate

Clone this->rep.

Definition at line 111 of file dim-vector.h.

References Array< T >::ndims(), and Array< T >::rep.

◆ compute_index() [1/2]

octave_idx_type dim_vector::compute_index ( const octave_idx_type idx) const
inline

Linear index from an index tuple.

Definition at line 487 of file dim-vector.h.

References compute_index(), and Array< T >::ndims().

Referenced by compute_index(), Array< octave_value >::compute_index_unchecked(), do_bsxfun_op(), and do_inplace_bsxfun_op().

◆ compute_index() [2/2]

octave_idx_type dim_vector::compute_index ( const octave_idx_type idx,
int  nidx 
) const
inline

Linear index from an incomplete index tuple (nidx < length ()).

Definition at line 491 of file dim-vector.h.

References i, k, and Array< T >::rep.

◆ concat()

bool dim_vector::concat ( const dim_vector dvb,
int  dim 
)

This corresponds to cat().

Definition at line 145 of file dim-vector.cc.

References chop_trailing_singletons(), i, make_unique(), ndims(), rep, and resize().

Referenced by octave_map::cat(), Sparse< bool >::cat(), Array< octave_value >::cat(), and hvcat().

◆ count()

octave_idx_type& dim_vector::count ( void  ) const
inlineprivate

Definition at line 95 of file dim-vector.h.

References Array< T >::rep.

◆ cum_compute_index()

octave_idx_type dim_vector::cum_compute_index ( const octave_idx_type idx) const
inline

Compute a linear index from an index tuple.

Dimensions are required to be cumulative.

Definition at line 534 of file dim-vector.h.

References i, k, Array< T >::ndims(), and Array< T >::rep.

Referenced by do_bsxfun_op(), and do_inplace_bsxfun_op().

◆ cumulative()

dim_vector dim_vector::cumulative ( void  ) const
inline

Return cumulative dimensions.

Definition at line 519 of file dim-vector.h.

References i, k, Array< T >::ndims(), Array< T >::rep, octave_value::rep, and retval.

Referenced by do_bsxfun_op(), and do_inplace_bsxfun_op().

◆ dim_max()

octave_idx_type dim_vector::dim_max ( void  )
static

Definition at line 47 of file dim-vector.cc.

References max().

Referenced by safe_numel().

◆ elem() [1/2]

octave_idx_type& dim_vector::elem ( int  i)
inline

Definition at line 218 of file dim-vector.h.

References i, Array< T >::make_unique(), and Array< T >::xelem().

Referenced by as_array(), and squeeze().

◆ elem() [2/2]

octave_idx_type dim_vector::elem ( int  i) const
inline

Definition at line 224 of file dim-vector.h.

References i, and Array< T >::xelem().

◆ empty_2d()

bool dim_vector::empty_2d ( void  ) const
inline

Definition at line 333 of file dim-vector.h.

References Array< T >::ndims(), and Array< T >::xelem().

◆ first_non_singleton()

int dim_vector::first_non_singleton ( int  def = 0) const
inline

◆ freerep()

void dim_vector::freerep ( void  )
inlineprivate

Free the rep.

Definition at line 144 of file dim-vector.h.

References Array< T >::rep.

◆ hvcat()

bool dim_vector::hvcat ( const dim_vector dvb,
int  dim 
)

This corresponds to [,] (horzcat, dim = 0) and [;] (vertcat, dim = 1).

Definition at line 208 of file dim-vector.cc.

References concat(), dim_vector(), ndims(), and rep.

Referenced by Sparse< bool >::cat(), and Array< octave_value >::cat().

◆ increment_index()

int dim_vector::increment_index ( octave_idx_type idx,
int  start = 0 
) const
inline

Increment a multi-dimensional index tuple, optionally starting from an offset position and return the index of the last index position that was changed, or length () if just cycled over.

Definition at line 504 of file dim-vector.h.

References i, Array< T >::ndims(), Array< T >::rep, and start.

Referenced by do_bsxfun_op(), and do_inplace_bsxfun_op().

◆ is_nd_vector()

bool dim_vector::is_nd_vector ( void  ) const
inline

◆ is_vector()

bool dim_vector::is_vector ( void  ) const
inline

Definition at line 428 of file dim-vector.h.

References isvector().

◆ isvector()

bool dim_vector::isvector ( void  ) const
inline

◆ length()

int dim_vector::length ( void  ) const
inline

Number of dimensions.

Synonymous with ndims().

While this method is not officially deprecated, consider using ndims() instead to avoid confusion. Array does not have length because of its odd definition as length of the longest dimension.

Definition at line 304 of file dim-vector.h.

References Array< T >::ndims().

◆ make_nd_vector()

◆ make_unique()

void dim_vector::make_unique ( void  )
inlineprivate

Definition at line 150 of file dim-vector.h.

References OCTAVE_ATOMIC_DECREMENT, and Array< T >::rep.

Referenced by chop_all_singletons(), and concat().

◆ ndims()

octave_idx_type dim_vector::ndims ( void  ) const
inline

Number of dimensions.

Returns the number of dimensions of the dim_vector. This is number of elements in the dim_vector including trailing singletons. It is also the number of dimensions an Array with this dim_vector would have.

Definition at line 295 of file dim-vector.h.

References Array< T >::rep.

Referenced by all_colon_equiv(), as_array(), Array< octave_value >::as_column(), Array< octave_value >::as_matrix(), Array< octave_value >::as_row(), Array< octave_value >::assign(), Array< octave_value >::cat(), chop_all_singletons(), OCTAVE_VALUE_INT_MATRIX_T::complex_matrix_value(), compute_array_dimensions(), concat(), convert_cdata(), octave::convert_packcomplex_Nd(), octave::opengl_texture::create(), octave::out_of_range::details(), Array< octave_value >::diag(), octave::opengl_renderer::draw_image(), Fellipj(), Ffilter(), filter(), OCTAVE_VALUE_INT_MATRIX_T::float_complex_matrix_value(), OCTAVE_VALUE_INT_MATRIX_T::float_matrix_value(), ComplexNDArray::fourier(), FloatComplexNDArray::fourier(), FloatNDArray::fourier(), NDArray::fourier(), ComplexNDArray::fourier2d(), FloatComplexNDArray::fourier2d(), FloatNDArray::fourier2d(), NDArray::fourier2d(), ComplexNDArray::fourierNd(), FloatComplexNDArray::fourierNd(), FloatNDArray::fourierNd(), NDArray::fourierNd(), freeze(), get_blkmm_dims(), get_dims_str(), get_vec_dims(), hvcat(), ComplexNDArray::ifourier(), FloatComplexNDArray::ifourier(), FloatNDArray::ifourier(), NDArray::ifourier(), ComplexNDArray::ifourier2d(), FloatComplexNDArray::ifourier2d(), FloatNDArray::ifourier2d(), NDArray::ifourier2d(), ComplexNDArray::ifourierNd(), FloatComplexNDArray::ifourierNd(), FloatNDArray::ifourierNd(), NDArray::ifourierNd(), increment_index(), ind2sub(), index_in_bounds(), octave::tm_const::init(), ComplexNDArray::insert(), FloatComplexNDArray::insert(), is_scalar(), is_valid_bsxfun(), is_valid_inplace_bsxfun(), isvector(), make_nd_vector(), QtHandles::Utils::makeImageFromCData(), OCTAVE_VALUE_INT_MATRIX_T::matrix_value(), SparseMatrix::max(), SparseComplexMatrix::max(), maybe_update_column(), SparseMatrix::min(), SparseComplexMatrix::min(), Sparse< bool >::ndims(), Array< octave_value >::ndims(), Array< octave_value >::nth_element(), num_ones(), operator<<(), Array< octave_value >::permute(), rec_index_helper::rec_index_helper(), rec_resize_helper::rec_resize_helper(), redim(), Sparse< bool >::reshape(), octave_base_diag< DiagMatrix, Matrix >::resize(), Sparse< bool >::resize(), Array< octave_value >::resize(), safe_numel(), octave_base_int_matrix< intNDArray< OCTAVE_INT_T > >::save_ascii(), octave_struct::save_ascii(), octave_float_complex_matrix::save_ascii(), octave_cell::save_ascii(), octave_complex_matrix::save_ascii(), octave_char_matrix_str::save_ascii(), octave_float_matrix::save_ascii(), octave_bool_matrix::save_ascii(), octave_matrix::save_ascii(), octave_scalar_struct::save_ascii(), octave_base_int_matrix< intNDArray< OCTAVE_INT_T > >::save_binary(), octave_sparse_bool_matrix::save_binary(), octave_struct::save_binary(), octave_sparse_complex_matrix::save_binary(), octave_sparse_matrix::save_binary(), octave_float_complex_matrix::save_binary(), octave_cell::save_binary(), octave_char_matrix_str::save_binary(), octave_complex_matrix::save_binary(), octave_float_matrix::save_binary(), octave_bool_matrix::save_binary(), octave_matrix::save_binary(), octave_float_complex_matrix::save_hdf5(), octave_cell::save_hdf5(), octave_char_matrix_str::save_hdf5(), octave_complex_matrix::save_hdf5(), octave_float_matrix::save_hdf5(), octave_bool_matrix::save_hdf5(), octave_matrix::save_hdf5(), octave_base_int_matrix< intNDArray< OCTAVE_INT_T > >::save_hdf5_internal(), scalar(), octave_class::size(), octave_base_value::size(), octave_lazy_index::sort(), Array< octave_value >::sort(), idx_vector::idx_vector_rep::sort_uniq_clone(), Sparse< bool >::Sparse(), squeeze(), str(), try_cellfun_internal_ops(), update_index(), octave::workspace_model::update_table(), array_property::validate(), vector_equivalent(), octave::tree_evaluator::visit_matrix(), and zero_dims_inquire().

◆ newrep()

static octave_idx_type* dim_vector::newrep ( int  ndims)
inlinestaticprivate

Construct a new rep with count = 1 and ndims given.

Definition at line 99 of file dim-vector.h.

References Array< T >::ndims().

◆ nil_rep()

octave_idx_type * dim_vector::nil_rep ( void  )
staticprivate

Definition at line 36 of file dim-vector.cc.

References rep.

◆ num_ones()

int dim_vector::num_ones ( void  ) const

Definition at line 91 of file dim-vector.cc.

References i, ndims(), retval, and xelem().

◆ numel()

octave_idx_type dim_vector::numel ( int  n = 0) const
inline

Number of elements that a matrix with this dimensions would have.

Return the number of elements that a matrix with this dimension vector would have, NOT the number of dimensions (elements in the dimension vector).

Definition at line 362 of file dim-vector.h.

References elem, i, Array< T >::ndims(), and retval.

Referenced by octave::math::airy(), octave::math::biry(), octave::convert_packcomplex_Nd(), octave_base_int_matrix< intNDArray< OCTAVE_INT_T > >::convert_to_str_internal(), octave_sparse_matrix::convert_to_str_internal(), octave_float_matrix::convert_to_str_internal(), octave_matrix::convert_to_str_internal(), do_bessel(), octave::math::do_bessel(), do_bsxfun_op(), do_inplace_bsxfun_op(), octave::fftw::fftNd(), filter(), octave::fftw::ifftNd(), ind2sub(), octave_perm_matrix::is_true(), octave_base_sparse< SparseComplexMatrix >::is_true(), octave_base_matrix< boolNDArray >::is_true(), octave_range::is_true(), octave_cell::load_ascii(), octave_char_matrix_str::load_ascii(), octave_base_int_matrix< intNDArray< OCTAVE_INT_T > >::load_binary(), octave_float_complex_matrix::load_binary(), octave_cell::load_binary(), octave_char_matrix_str::load_binary(), octave_complex_matrix::load_binary(), octave_float_matrix::load_binary(), octave_bool_matrix::load_binary(), octave_matrix::load_binary(), octave_cell::load_hdf5(), octave_bool_matrix::load_hdf5(), octave_class::numel(), Sparse< bool >::reshape(), octave_float_complex::resize(), octave_complex::resize(), octave_scalar::resize(), octave_float_scalar::resize(), octave_bool::resize(), OCTAVE_VALUE_INT_SCALAR_T::resize(), octave_cell::save_ascii(), octave_char_matrix_str::save_ascii(), octave_float_complex_matrix::save_binary(), octave_cell::save_binary(), octave_complex_matrix::save_binary(), octave_char_matrix_str::save_binary(), octave_float_matrix::save_binary(), octave_matrix::save_binary(), octave_cell::save_hdf5(), octave_char_matrix_str::save_hdf5(), save_mat5_binary_element(), and Array< octave_value >::sort().

◆ operator()() [1/2]

octave_idx_type& dim_vector::operator() ( int  i)
inline

Definition at line 306 of file dim-vector.h.

References elem, and i.

◆ operator()() [2/2]

octave_idx_type dim_vector::operator() ( int  i) const
inline

Definition at line 308 of file dim-vector.h.

References elem, and i.

◆ operator=()

dim_vector& dim_vector::operator= ( const dim_vector dv)
inline

Definition at line 269 of file dim-vector.h.

References dv, OCTAVE_ATOMIC_DECREMENT, OCTAVE_ATOMIC_INCREMENT, rep, and Array< T >::rep.

◆ redim()

dim_vector dim_vector::redim ( int  n) const

Force certain dimensionality, preserving numel ().

Missing dimensions are set to 1, redundant are folded into the trailing one. If n = 1, the result is 2d and the second dim is 1 (dim_vectors are always at least 2D).

Definition at line 233 of file dim-vector.cc.

References alloc(), i, k, ndims(), rep, octave_value::rep, and retval.

Referenced by Array< octave_value >::as_matrix(), Array< octave_value >::assign(), do_inplace_bsxfun_op(), Fcell2struct(), MArray< Complex >::idx_add_nd(), Sparse< bool >::index(), Array< octave_value >::index(), Array< octave_value >::resize(), sub2ind(), octave_struct::subsasgn(), octave_cell::subsasgn(), and octave::tree_evaluator::visit_simple_for_command().

◆ resize()

void dim_vector::resize ( int  n,
int  fill_value = 0 
)
inline

◆ resizerep()

octave_idx_type* dim_vector::resizerep ( int  n,
octave_idx_type  fill_value 
)
inlineprivate

Clone and resize this->rep to length n, filling by given value.

Definition at line 124 of file dim-vector.h.

References Array< T >::ndims(), and Array< T >::rep.

◆ safe_numel()

octave_idx_type dim_vector::safe_numel ( void  ) const

The following function will throw a std::bad_alloc () exception if the requested size is larger than can be indexed by octave_idx_type.

This may be smaller than the actual amount of memory that can be safely allocated on a system. However, if we don't fail here, we can end up with a mysterious crash inside a function that is iterating over an array using octave_idx_type indices.

Definition at line 103 of file dim-vector.cc.

References dim_max(), i, idx_max, ndims(), and rep.

Referenced by Array< octave_value >::Array(), Array< octave_value >::clear(), Sparse< bool >::numel(), and Sparse< bool >::Sparse().

◆ squeeze()

dim_vector dim_vector::squeeze ( void  ) const

Definition at line 122 of file dim-vector.cc.

References as_row(), chop_all_singletons(), elem(), ndims(), and xelem().

Referenced by octave_map::squeeze().

◆ str()

◆ to_jit()

octave_idx_type* dim_vector::to_jit ( void  ) const
inline

Definition at line 242 of file dim-vector.h.

References Array< T >::rep.

Referenced by Array< octave_value >::jit_dimensions().

◆ xelem() [1/2]

octave_idx_type& dim_vector::xelem ( int  i)
inline

Definition at line 212 of file dim-vector.h.

References i, and Array< T >::rep.

Referenced by num_ones(), squeeze(), and str().

◆ xelem() [2/2]

octave_idx_type dim_vector::xelem ( int  i) const
inline

Definition at line 214 of file dim-vector.h.

References i, and Array< T >::rep.

◆ zero_by_zero()

Friends And Related Function Documentation

◆ operator==

bool operator== ( const dim_vector a,
const dim_vector b 
)
friend

Definition at line 550 of file dim-vector.h.

Member Data Documentation

◆ rep

octave_idx_type* dim_vector::rep
private

Definition at line 93 of file dim-vector.h.

Referenced by chop_all_singletons(), concat(), hvcat(), nil_rep(), operator=(), redim(), and safe_numel().


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