GNU Octave  6.2.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
octave::octave_lvalue Class Reference

#include "oct-lvalue.h"

Collaboration diagram for octave::octave_lvalue:

Public Member Functions

 octave_lvalue (const octave_lvalue &)=default
 
 octave_lvalue (const symbol_record &sr, const std::shared_ptr< stack_frame > &frame)
 
 ~octave_lvalue (void)=default
 
void assign (octave_value::assign_op, const octave_value &)
 
void clear_index (void)
 
void define (const octave_value &v)
 
void do_unary_op (octave_value::unary_op op)
 
bool index_is_colon (void) const
 
bool index_is_empty (void) const
 
std::string index_type (void) const
 
bool is_black_hole (void) const
 
bool is_defined (void) const
 
bool is_undefined (void) const
 
bool isstruct (void) const
 
void mark_black_hole (void)
 
octave_idx_type numel (void) const
 
octave_lvalueoperator= (const octave_lvalue &)=delete
 
void set_index (const std::string &t, const std::list< octave_value_list > &i)
 
octave_value value (void) const
 

Private Member Functions

octave_value eval_for_numel (const std::string &type, const std::list< octave_value_list > &idx) const
 

Private Attributes

bool m_black_hole
 
std::shared_ptr< stack_framem_frame
 
std::list< octave_value_listm_idx
 
octave_idx_type m_nel
 
symbol_record m_sym
 
std::string m_type
 

Detailed Description

Definition at line 39 of file oct-lvalue.h.

Constructor & Destructor Documentation

◆ octave_lvalue() [1/2]

octave::octave_lvalue::octave_lvalue ( const symbol_record sr,
const std::shared_ptr< stack_frame > &  frame 
)
inline

Definition at line 43 of file oct-lvalue.h.

◆ octave_lvalue() [2/2]

octave::octave_lvalue::octave_lvalue ( const octave_lvalue )
default

◆ ~octave_lvalue()

octave::octave_lvalue::~octave_lvalue ( void  )
default

Member Function Documentation

◆ assign()

◆ clear_index()

void octave::octave_lvalue::clear_index ( void  )
inline

Definition at line 73 of file oct-lvalue.h.

References m_idx, and m_type.

Referenced by octave::tree_simple_assignment::evaluate().

◆ define()

void octave::octave_lvalue::define ( const octave_value v)

Definition at line 50 of file oct-lvalue.cc.

References m_frame, and m_sym.

Referenced by octave::tree_evaluator::define_parameter_list_from_arg_vector().

◆ do_unary_op()

void octave::octave_lvalue::do_unary_op ( octave_value::unary_op  op)

◆ eval_for_numel()

octave_value octave::octave_lvalue::eval_for_numel ( const std::string &  type,
const std::list< octave_value_list > &  idx 
) const
private

◆ index_is_colon()

bool octave::octave_lvalue::index_is_colon ( void  ) const

Definition at line 195 of file oct-lvalue.cc.

References octave_value_list::length(), m_idx, and retval.

◆ index_is_empty()

bool octave::octave_lvalue::index_is_empty ( void  ) const

Definition at line 181 of file oct-lvalue.cc.

References octave_value_list::length(), m_idx, and retval.

◆ index_type()

std::string octave::octave_lvalue::index_type ( void  ) const
inline

Definition at line 75 of file oct-lvalue.h.

References m_type.

◆ is_black_hole()

bool octave::octave_lvalue::is_black_hole ( void  ) const
inline

Definition at line 55 of file oct-lvalue.h.

References m_black_hole.

Referenced by assign(), do_unary_op(), is_defined(), and value().

◆ is_defined()

bool octave::octave_lvalue::is_defined ( void  ) const

Definition at line 40 of file oct-lvalue.cc.

References is_black_hole(), m_frame, and m_sym.

Referenced by is_undefined().

◆ is_undefined()

bool octave::octave_lvalue::is_undefined ( void  ) const

Definition at line 45 of file oct-lvalue.cc.

References is_defined().

Referenced by octave::tree_evaluator::visit_decl_elt().

◆ isstruct()

bool octave::octave_lvalue::isstruct ( void  ) const
inline

Definition at line 63 of file oct-lvalue.h.

References octave_value::isstruct(), and value().

◆ mark_black_hole()

void octave::octave_lvalue::mark_black_hole ( void  )
inline

Definition at line 57 of file oct-lvalue.h.

References m_black_hole.

◆ numel()

◆ operator=()

octave_lvalue& octave::octave_lvalue::operator= ( const octave_lvalue )
delete

◆ set_index()

void octave::octave_lvalue::set_index ( const std::string &  t,
const std::list< octave_value_list > &  i 
)

Definition at line 171 of file oct-lvalue.cc.

References error(), m_idx, and m_type.

◆ value()

Member Data Documentation

◆ m_black_hole

bool octave::octave_lvalue::m_black_hole
private

Definition at line 95 of file oct-lvalue.h.

Referenced by is_black_hole(), and mark_black_hole().

◆ m_frame

std::shared_ptr<stack_frame> octave::octave_lvalue::m_frame
private

Definition at line 93 of file oct-lvalue.h.

Referenced by assign(), define(), do_unary_op(), eval_for_numel(), is_defined(), and value().

◆ m_idx

std::list<octave_value_list> octave::octave_lvalue::m_idx
private

◆ m_nel

octave_idx_type octave::octave_lvalue::m_nel
private

Definition at line 101 of file oct-lvalue.h.

◆ m_sym

symbol_record octave::octave_lvalue::m_sym
private

Definition at line 91 of file oct-lvalue.h.

Referenced by assign(), define(), do_unary_op(), eval_for_numel(), is_defined(), and value().

◆ m_type

std::string octave::octave_lvalue::m_type
private

Definition at line 97 of file oct-lvalue.h.

Referenced by assign(), clear_index(), do_unary_op(), index_type(), numel(), set_index(), and value().


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