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

#include "oct-map.h"

Collaboration diagram for octave_map:

Public Types

typedef octave_fields::const_iterator const_iterator
 
typedef octave_scalar_map element_type
 
typedef const_iterator iterator
 

Public Member Functions

 octave_map (const dim_vector &dv)
 
 octave_map (const dim_vector &dv, const octave_fields &k)
 
 octave_map (const dim_vector &dv, const string_vector &k)
 
 octave_map (const octave_fields &k)
 
 octave_map (const octave_map &m)
 
 octave_map (const octave_scalar_map &m)
 
 octave_map (const string_vector &k)
 
 octave_map (void)
 
void assign (const Array< octave::idx_vector > &ia, const octave_map &rhs)
 
void assign (const octave::idx_vector &i, const octave::idx_vector &j, const octave_map &rhs)
 
void assign (const octave::idx_vector &i, const octave_map &rhs)
 
void assign (const octave_value_list &, const octave_map &rhs)
 
void assign (const octave_value_list &idx, const std::string &k, const Cell &rhs)
 
void assign (const std::string &k, const Cell &val)
 
const_iterator begin (void) const
 
const_iterator cbegin (void) const
 
const_iterator cend (void) const
 
octave_scalar_map checkelem (const Array< octave_idx_type > &ra_idx) const
 
octave_scalar_map checkelem (octave_idx_type i, octave_idx_type j) const
 
octave_scalar_map checkelem (octave_idx_type n) const
 
void clear (void)
 
octave_idx_type cols (void) const
 
octave_map column (octave_idx_type k) const
 
octave_idx_type columns (void) const
 
octave_map concat (const octave_map &rb, const Array< octave_idx_type > &ra_idx)
 
bool contains (const std::string &name) const
 
Cellcontents (const std::string &k)
 
Cell contents (const std::string &k) const
 
const Cellcontents (const_iterator p) const
 
Cellcontents (iterator p)
 
Cellcontents (octave_idx_type i)
 
const Cellcontents (octave_idx_type i) const
 
void del (const std::string &k)
 
void delete_elements (const Array< octave::idx_vector > &ia)
 
void delete_elements (const octave::idx_vector &i)
 
void delete_elements (const octave_value_list &)
 
void delete_elements (int dim, const octave::idx_vector &i)
 
dim_vector dims (void) const
 
octave_scalar_map elem (const Array< octave_idx_type > &ra_idx) const
 
octave_scalar_map elem (octave_idx_type i, octave_idx_type j) const
 
octave_scalar_map elem (octave_idx_type n) const
 
const_iterator end (void) const
 
octave_scalar_map fast_elem_extract (octave_idx_type n) const
 
bool fast_elem_insert (octave_idx_type n, const octave_scalar_map &rhs)
 
string_vector fieldnames (void) const
 
Cell getfield (const std::string &key) const
 
octave_map index (const Array< octave::idx_vector > &ia, bool resize_ok=false) const
 
octave_map index (const octave::idx_vector &i, bool resize_ok=false) const
 
octave_map index (const octave::idx_vector &i, const octave::idx_vector &j, bool resize_ok=false) const
 
octave_map index (const octave_value_list &, bool resize_ok=false) const
 
octave_idx_type index (const_iterator p) const
 
bool isempty (void) const
 
bool isfield (const std::string &name) const
 
std::string key (const_iterator p) const
 
string_vector keys (void) const
 
octave_idx_type length (void) const
 
int ndims (void) const
 
octave_idx_type nfields (void) const
 
octave_idx_type numel (void) const
 
octave_scalar_map operator() (const Array< octave_idx_type > &ra_idx) const
 
octave_scalar_map operator() (octave_idx_type i, octave_idx_type j) const
 
octave_scalar_map operator() (octave_idx_type n) const
 
octave_mapoperator= (const octave_map &m)
 
octave_map orderfields (Array< octave_idx_type > &perm) const
 
octave_map orderfields (const octave_map &other, Array< octave_idx_type > &perm) const
 
octave_map orderfields (void) const
 
octave_map page (octave_idx_type k) const
 
octave_map permute (const Array< int > &vec, bool inv=false) const
 
octave_map reshape (const dim_vector &dv) const
 
void resize (const dim_vector &dv, bool fill=false)
 
void rmfield (const std::string &key)
 
octave_idx_type rows (void) const
 
const_iterator seek (const std::string &k) const
 
void setfield (const std::string &key, const Cell &val)
 
octave_map squeeze (void) const
 
octave_map transpose (void) const
 

Static Public Member Functions

static octave_map cat (int dim, octave_idx_type n, const octave_map *map_list)
 
static octave_map cat (int dim, octave_idx_type n, const octave_scalar_map *map_list)
 

Private Member Functions

void extract_scalar (octave_scalar_map &dest, octave_idx_type index) const
 
void optimize_dimensions (void)
 

Static Private Member Functions

static void do_cat (int dim, octave_idx_type n, const octave_map *map_list, octave_map &retval)
 
static void do_cat (int dim, octave_idx_type n, const octave_scalar_map *map_list, octave_map &retval)
 

Private Attributes

dim_vector m_dimensions
 
octave_fields m_keys
 
std::vector< Cellm_vals
 

Detailed Description

Definition at line 275 of file oct-map.h.

Member Typedef Documentation

◆ const_iterator

◆ element_type

Definition at line 286 of file oct-map.h.

◆ iterator

Definition at line 316 of file oct-map.h.

Constructor & Destructor Documentation

◆ octave_map() [1/8]

octave_map::octave_map ( const octave_fields k)
inline

Definition at line 280 of file oct-map.h.

◆ octave_map() [2/8]

octave_map::octave_map ( const dim_vector dv,
const octave_fields k 
)
inline

Definition at line 283 of file oct-map.h.

◆ octave_map() [3/8]

octave_map::octave_map ( void  )
inline

Definition at line 288 of file oct-map.h.

◆ octave_map() [4/8]

octave_map::octave_map ( const dim_vector dv)
inline

Definition at line 290 of file oct-map.h.

◆ octave_map() [5/8]

octave_map::octave_map ( const string_vector k)
inline

Definition at line 292 of file oct-map.h.

◆ octave_map() [6/8]

octave_map::octave_map ( const dim_vector dv,
const string_vector k 
)
inline

Definition at line 295 of file oct-map.h.

◆ octave_map() [7/8]

octave_map::octave_map ( const octave_map m)
inline

Definition at line 298 of file oct-map.h.

◆ octave_map() [8/8]

octave_map::octave_map ( const octave_scalar_map m)

Definition at line 262 of file oct-map.cc.

References m, m_dimensions, and m_vals.

Member Function Documentation

◆ assign() [1/6]

void octave_map::assign ( const Array< octave::idx_vector > &  ia,
const octave_map rhs 
)

◆ assign() [2/6]

void octave_map::assign ( const octave::idx_vector i,
const octave::idx_vector j,
const octave_map rhs 
)

◆ assign() [3/6]

void octave_map::assign ( const octave::idx_vector i,
const octave_map rhs 
)

◆ assign() [4/6]

void octave_map::assign ( const octave_value_list idx,
const octave_map rhs 
)

Definition at line 1136 of file oct-map.cc.

References assign(), and octave_value_list::length().

◆ assign() [5/6]

void octave_map::assign ( const octave_value_list idx,
const std::string &  k,
const Cell rhs 
)

◆ assign() [6/6]

◆ begin()

const_iterator octave_map::begin ( void  ) const
inline

Definition at line 318 of file oct-map.h.

Referenced by Fdbstatus().

◆ cat() [1/2]

octave_map octave_map::cat ( int  dim,
octave_idx_type  n,
const octave_map map_list 
)
static

◆ cat() [2/2]

◆ cbegin()

const_iterator octave_map::cbegin ( void  ) const
inline

◆ cend()

const_iterator octave_map::cend ( void  ) const
inline

◆ checkelem() [1/3]

octave_scalar_map octave_map::checkelem ( const Array< octave_idx_type > &  ra_idx) const
inline

Definition at line 407 of file oct-map.h.

References elem, and ra_idx.

◆ checkelem() [2/3]

octave_scalar_map octave_map::checkelem ( octave_idx_type  i,
octave_idx_type  j 
) const
inline

Definition at line 403 of file oct-map.h.

References elem.

◆ checkelem() [3/3]

◆ clear()

void octave_map::clear ( void  )
inline

Definition at line 382 of file oct-map.h.

Referenced by error_system::set_warning_option().

◆ cols()

octave_idx_type octave_map::cols ( void  ) const
inline

Definition at line 394 of file oct-map.h.

◆ column()

octave_map octave_map::column ( octave_idx_type  k) const

Definition at line 977 of file oct-map.cc.

References index().

◆ columns()

octave_idx_type octave_map::columns ( void  ) const
inline

Definition at line 395 of file oct-map.h.

Referenced by octave_struct::edit_display().

◆ concat()

octave_map octave_map::concat ( const octave_map rb,
const Array< octave_idx_type > &  ra_idx 
)

◆ contains()

bool octave_map::contains ( const std::string &  name) const
inline

◆ contents() [1/6]

Cell & octave_map::contents ( const std::string &  k)

Definition at line 352 of file oct-map.cc.

References octave_fields::getfield(), m_dimensions, m_keys, and m_vals.

◆ contents() [2/6]

Cell octave_map::contents ( const std::string &  k) const

Definition at line 346 of file oct-map.cc.

References getfield().

◆ contents() [3/6]

◆ contents() [4/6]

Cell& octave_map::contents ( iterator  p)
inline

Definition at line 334 of file oct-map.h.

◆ contents() [5/6]

Cell& octave_map::contents ( octave_idx_type  i)
inline

Definition at line 340 of file oct-map.h.

◆ contents() [6/6]

const Cell& octave_map::contents ( octave_idx_type  i) const
inline

Definition at line 337 of file oct-map.h.

◆ del()

void octave_map::del ( const std::string &  k)
inline

Definition at line 370 of file oct-map.h.

◆ delete_elements() [1/4]

void octave_map::delete_elements ( const Array< octave::idx_vector > &  ia)

◆ delete_elements() [2/4]

◆ delete_elements() [3/4]

void octave_map::delete_elements ( const octave_value_list idx)

Definition at line 1288 of file oct-map.cc.

References delete_elements(), and octave_value_list::length().

◆ delete_elements() [4/4]

void octave_map::delete_elements ( int  dim,
const octave::idx_vector i 
)

◆ dims()

dim_vector octave_map::dims ( void  ) const
inline

Definition at line 430 of file oct-map.h.

Referenced by octave_class::octave_class(), concat(), and permute_to_correct_order1().

◆ do_cat() [1/2]

void octave_map::do_cat ( int  dim,
octave_idx_type  n,
const octave_map map_list,
octave_map retval 
)
staticprivate

Definition at line 622 of file oct-map.cc.

References m_dimensions, m_vals, n, nfields(), and OCTAVE_LOCAL_BUFFER.

◆ do_cat() [2/2]

void octave_map::do_cat ( int  dim,
octave_idx_type  n,
const octave_scalar_map map_list,
octave_map retval 
)
staticprivate

Definition at line 600 of file oct-map.cc.

References error_unless(), m_dimensions, octave_scalar_map::m_vals, m_vals, n, nfields(), and dim_vector::resize().

Referenced by cat().

◆ elem() [1/3]

octave_scalar_map octave_map::elem ( const Array< octave_idx_type > &  ra_idx) const

Definition at line 392 of file oct-map.cc.

References compute_index(), extract_scalar(), m_dimensions, m_keys, and ra_idx.

◆ elem() [2/3]

octave_scalar_map octave_map::elem ( octave_idx_type  i,
octave_idx_type  j 
) const

Definition at line 381 of file oct-map.cc.

References compute_index(), extract_scalar(), m_dimensions, and m_keys.

◆ elem() [3/3]

octave_scalar_map octave_map::elem ( octave_idx_type  n) const

Definition at line 370 of file oct-map.cc.

References compute_index(), extract_scalar(), m_dimensions, m_keys, and n.

◆ end()

const_iterator octave_map::end ( void  ) const
inline

◆ extract_scalar()

void octave_map::extract_scalar ( octave_scalar_map dest,
octave_idx_type  index 
) const
private

Definition at line 361 of file oct-map.cc.

References octave_scalar_map::m_vals, m_vals, and nfields().

Referenced by elem(), and fast_elem_extract().

◆ fast_elem_extract()

octave_scalar_map octave_map::fast_elem_extract ( octave_idx_type  n) const

Definition at line 403 of file oct-map.cc.

References extract_scalar(), m_keys, and n.

◆ fast_elem_insert()

◆ fieldnames()

string_vector octave_map::fieldnames ( void  ) const
inline

Definition at line 353 of file oct-map.h.

Referenced by F__magick_formats__(), and octave_struct::print_raw().

◆ getfield()

Cell octave_map::getfield ( const std::string &  key) const

Definition at line 275 of file oct-map.cc.

References octave_fields::getfield(), m_keys, and m_vals.

Referenced by contents(), Fdbstop(), and Fset().

◆ index() [1/5]

octave_map octave_map::index ( const Array< octave::idx_vector > &  ia,
bool  resize_ok = false 
) const

◆ index() [2/5]

octave_map octave_map::index ( const octave::idx_vector i,
bool  resize_ok = false 
) const

◆ index() [3/5]

octave_map octave_map::index ( const octave::idx_vector i,
const octave::idx_vector j,
bool  resize_ok = false 
) const

◆ index() [4/5]

octave_map octave_map::index ( const octave_value_list idx,
bool  resize_ok = false 
) const

Definition at line 919 of file oct-map.cc.

References index(), and octave_value_list::length().

◆ index() [5/5]

◆ isempty()

bool octave_map::isempty ( void  ) const
inline

◆ isfield()

bool octave_map::isfield ( const std::string &  name) const
inline

Definition at line 347 of file oct-map.h.

Referenced by bp_table::dbstop_process_map_args(), Fdbstop(), and Fset().

◆ key()

std::string octave_map::key ( const_iterator  p) const
inline

◆ keys()

string_vector octave_map::keys ( void  ) const
inline

◆ length()

octave_idx_type octave_map::length ( void  ) const
inline

Definition at line 390 of file oct-map.h.

References numel().

Referenced by F__version_info__().

◆ ndims()

int octave_map::ndims ( void  ) const
inline

Definition at line 432 of file oct-map.h.

◆ nfields()

◆ numel()

◆ operator()() [1/3]

octave_scalar_map octave_map::operator() ( const Array< octave_idx_type > &  ra_idx) const
inline

Definition at line 423 of file oct-map.h.

References elem, and ra_idx.

◆ operator()() [2/3]

octave_scalar_map octave_map::operator() ( octave_idx_type  i,
octave_idx_type  j 
) const
inline

Definition at line 419 of file oct-map.h.

References elem.

◆ operator()() [3/3]

octave_scalar_map octave_map::operator() ( octave_idx_type  n) const
inline

Definition at line 416 of file oct-map.h.

References elem, and n.

◆ operator=()

octave_map& octave_map::operator= ( const octave_map m)
inline

Definition at line 303 of file oct-map.h.

References m.

◆ optimize_dimensions()

void octave_map::optimize_dimensions ( void  )
private

Definition at line 1347 of file oct-map.cc.

References error(), m_dimensions, m_vals, and nfields().

Referenced by assign(), cat(), delete_elements(), index(), permute(), reshape(), resize(), squeeze(), and transpose().

◆ orderfields() [1/3]

octave_map octave_map::orderfields ( Array< octave_idx_type > &  perm) const

◆ orderfields() [2/3]

octave_map octave_map::orderfields ( const octave_map other,
Array< octave_idx_type > &  perm 
) const

◆ orderfields() [3/3]

octave_map octave_map::orderfields ( void  ) const

Definition at line 306 of file oct-map.cc.

Referenced by assign(), and permute_to_correct_order1().

◆ page()

octave_map octave_map::page ( octave_idx_type  k) const

Definition at line 983 of file oct-map.cc.

References index().

◆ permute()

octave_map octave_map::permute ( const Array< int > &  vec,
bool  inv = false 
) const

◆ reshape()

◆ resize()

void octave_map::resize ( const dim_vector dv,
bool  fill = false 
)

◆ rmfield()

void octave_map::rmfield ( const std::string &  key)

Definition at line 298 of file oct-map.cc.

References m_keys, m_vals, and octave_fields::rmfield().

◆ rows()

octave_idx_type octave_map::rows ( void  ) const
inline

Definition at line 393 of file oct-map.h.

Referenced by octave_struct::edit_display().

◆ seek()

◆ setfield()

◆ squeeze()

octave_map octave_map::squeeze ( void  ) const

Definition at line 442 of file oct-map.cc.

References m_dimensions, m_vals, nfields(), optimize_dimensions(), and dim_vector::squeeze().

◆ transpose()

octave_map octave_map::transpose ( void  ) const

Definition at line 499 of file oct-map.cc.

References m_dimensions, m_keys, m_vals, nfields(), and optimize_dimensions().

Referenced by oct_unop_default(), and oct_unop_transpose().

Member Data Documentation

◆ m_dimensions

◆ m_keys

◆ m_vals


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