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

#include "oct-lvalue.h"

Collaboration diagram for 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)
 
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)
 
void unary_op (octave_value::unary_op op)
 
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
 
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_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_lvalue::octave_lvalue ( const octave_lvalue )
default

◆ ~octave_lvalue()

octave_lvalue::~octave_lvalue ( void  )
default

Member Function Documentation

◆ assign()

◆ clear_index()

void octave_lvalue::clear_index ( void  )
inline

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

Referenced by tree_simple_assignment::evaluate().

◆ define()

void octave_lvalue::define ( const octave_value v)

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

References m_frame, and m_sym.

Referenced by tree_evaluator::define_parameter_list_from_arg_vector().

◆ eval_for_numel()

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

◆ index_is_colon()

bool octave_lvalue::index_is_colon ( void  ) const

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

References octave_value_list::length(), and m_idx.

◆ index_is_empty()

bool octave_lvalue::index_is_empty ( void  ) const

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

References octave_value_list::length(), and m_idx.

◆ index_type()

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

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

◆ is_black_hole()

bool octave_lvalue::is_black_hole ( void  ) const
inline

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

Referenced by assign(), unary_op(), and value().

◆ is_defined()

bool octave_lvalue::is_defined ( void  ) const

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

References is_defined().

Referenced by is_defined(), and is_undefined().

◆ is_undefined()

bool octave_lvalue::is_undefined ( void  ) const

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

References is_defined().

Referenced by tree_evaluator::visit_decl_elt().

◆ isstruct()

bool octave_lvalue::isstruct ( void  ) const
inline

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

◆ mark_black_hole()

void octave_lvalue::mark_black_hole ( void  )
inline

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

Referenced by tree_black_hole::lvalue().

◆ numel()

◆ operator=()

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

◆ set_index()

void 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.

Referenced by tree_index_expression::lvalue().

◆ unary_op()

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

◆ value()

Member Data Documentation

◆ m_black_hole

bool octave_lvalue::m_black_hole
private

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

◆ m_frame

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

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

Referenced by assign(), define(), eval_for_numel(), unary_op(), and value().

◆ m_idx

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

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

Referenced by assign(), index_is_colon(), index_is_empty(), numel(), set_index(), unary_op(), and value().

◆ m_sym

symbol_record octave_lvalue::m_sym
private

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

Referenced by assign(), define(), eval_for_numel(), unary_op(), and value().

◆ m_type

std::string octave_lvalue::m_type
private

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

Referenced by assign(), numel(), set_index(), unary_op(), and value().


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