GNU Octave  8.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
symbol_info_accumulator Class Reference
Inheritance diagram for symbol_info_accumulator:
Collaboration diagram for symbol_info_accumulator:

Public Member Functions

 symbol_info_accumulator (bool match_all=true, bool first_only=true)
 
 symbol_info_accumulator (const std::string &pattern, bool have_regexp=false)
 
 symbol_info_accumulator (const string_vector &patterns, bool have_regexp=false)
 
 symbol_info_accumulator (const symbol_info_accumulator &)=delete
 
 ~symbol_info_accumulator (void)=default
 
void display (std::ostream &os, const std::string &format) const
 
bool is_empty (void) const
 
octave_map map_value (void) const
 
std::list< std::string > names (void) const
 
symbol_info_accumulatoroperator= (const symbol_info_accumulator &)=delete
 
symbol_info_list symbol_info (void) const
 
void visit_compiled_fcn_stack_frame (compiled_fcn_stack_frame &frame)
 
void visit_scope_stack_frame (scope_stack_frame &frame)
 
void visit_script_stack_frame (script_stack_frame &frame)
 
void visit_user_fcn_stack_frame (user_fcn_stack_frame &frame)
 

Private Types

typedef std::pair< std::string, symbol_info_listsyminf_list_elt
 

Private Member Functions

void append_list (stack_frame &frame)
 
std::list< symbol_recordfilter (stack_frame &frame, const std::list< symbol_record > &symbols)
 

Private Attributes

bool m_first_only
 
std::set< std::string > m_found_names
 
bool m_have_regexp
 
bool m_match_all
 
string_vector m_patterns
 
std::list< std::pair< std::string, symbol_info_list > > m_sym_inf_list
 

Detailed Description

Definition at line 775 of file stack-frame.cc.

Member Typedef Documentation

◆ syminf_list_elt

typedef std::pair<std::string, symbol_info_list> symbol_info_accumulator::syminf_list_elt
private

Definition at line 928 of file stack-frame.cc.

Constructor & Destructor Documentation

◆ symbol_info_accumulator() [1/4]

symbol_info_accumulator::symbol_info_accumulator ( const std::string &  pattern,
bool  have_regexp = false 
)
inline

Definition at line 779 of file stack-frame.cc.

◆ symbol_info_accumulator() [2/4]

symbol_info_accumulator::symbol_info_accumulator ( const string_vector patterns,
bool  have_regexp = false 
)
inline

Definition at line 786 of file stack-frame.cc.

◆ symbol_info_accumulator() [3/4]

symbol_info_accumulator::symbol_info_accumulator ( bool  match_all = true,
bool  first_only = true 
)
inline

Definition at line 793 of file stack-frame.cc.

◆ symbol_info_accumulator() [4/4]

symbol_info_accumulator::symbol_info_accumulator ( const symbol_info_accumulator )
delete

◆ ~symbol_info_accumulator()

symbol_info_accumulator::~symbol_info_accumulator ( void  )
default

Member Function Documentation

◆ append_list()

◆ display()

void symbol_info_accumulator::display ( std::ostream &  os,
const std::string &  format 
) const
inline

Definition at line 874 of file stack-frame.cc.

References symbol_info_list::display(), format(), and m_sym_inf_list.

Referenced by stack_frame::who().

◆ filter()

std::list<symbol_record> symbol_info_accumulator::filter ( stack_frame frame,
const std::list< symbol_record > &  symbols 
)
inlineprivate

◆ is_empty()

bool symbol_info_accumulator::is_empty ( void  ) const
inline

Definition at line 805 of file stack-frame.cc.

References base_list< elt_type >::empty(), and m_sym_inf_list.

Referenced by stack_frame::who().

◆ map_value()

octave_map symbol_info_accumulator::map_value ( void  ) const
inline

◆ names()

std::list<std::string> symbol_info_accumulator::names ( void  ) const
inline

Definition at line 818 of file stack-frame.cc.

References m_sym_inf_list, and symbol_info_list::names().

Referenced by stack_frame::who().

◆ operator=()

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

◆ symbol_info()

symbol_info_list symbol_info_accumulator::symbol_info ( void  ) const
inline

◆ visit_compiled_fcn_stack_frame()

void symbol_info_accumulator::visit_compiled_fcn_stack_frame ( compiled_fcn_stack_frame frame)
inlinevirtual

Implements stack_frame_walker.

Definition at line 886 of file stack-frame.cc.

References stack_frame::static_link().

◆ visit_scope_stack_frame()

void symbol_info_accumulator::visit_scope_stack_frame ( scope_stack_frame frame)
inlinevirtual

Implements stack_frame_walker.

Definition at line 916 of file stack-frame.cc.

References stack_frame::access_link(), and append_list().

◆ visit_script_stack_frame()

void symbol_info_accumulator::visit_script_stack_frame ( script_stack_frame frame)
inlinevirtual

Implements stack_frame_walker.

Definition at line 898 of file stack-frame.cc.

References stack_frame::access_link().

◆ visit_user_fcn_stack_frame()

void symbol_info_accumulator::visit_user_fcn_stack_frame ( user_fcn_stack_frame frame)
inlinevirtual

Implements stack_frame_walker.

Definition at line 906 of file stack-frame.cc.

References stack_frame::access_link(), and append_list().

Member Data Documentation

◆ m_first_only

bool symbol_info_accumulator::m_first_only
private

Definition at line 1032 of file stack-frame.cc.

Referenced by filter().

◆ m_found_names

std::set<std::string> symbol_info_accumulator::m_found_names
private

Definition at line 1037 of file stack-frame.cc.

Referenced by filter().

◆ m_have_regexp

bool symbol_info_accumulator::m_have_regexp
private

Definition at line 1033 of file stack-frame.cc.

Referenced by filter().

◆ m_match_all

bool symbol_info_accumulator::m_match_all
private

Definition at line 1031 of file stack-frame.cc.

Referenced by append_list(), and filter().

◆ m_patterns

string_vector symbol_info_accumulator::m_patterns
private

Definition at line 1029 of file stack-frame.cc.

Referenced by append_list(), and filter().

◆ m_sym_inf_list

std::list<std::pair<std::string, symbol_info_list> > symbol_info_accumulator::m_sym_inf_list
private

Definition at line 1035 of file stack-frame.cc.

Referenced by append_list(), display(), is_empty(), map_value(), names(), and symbol_info().


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