GNU Octave  4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Public Attributes | Private Member Functions | List of all members
octave::unwind_protect Class Referenceabstract

#include "unwind-prot.h"

Inheritance diagram for octave::unwind_protect:
Inheritance graph
[legend]
Collaboration diagram for octave::unwind_protect:
Collaboration graph
[legend]

Public Member Functions

 unwind_protect (void)
 
 ~unwind_protect (void)
 
virtual void add (elem *new_elem)
 
template<typename T >
void add_delete (T *obj)
 
void add_fcn (void(*fcn)(void))
 
template<typename T >
void add_fcn (void(*action)(T), T val)
 
template<typename T >
void add_fcn (void(*action)(const T &), const T &val)
 
template<typename T >
void add_method (T *obj, void(T::*method)(void))
 
template<typename T , typename A >
void add_method (T *obj, void(T::*method)(A), A arg)
 
template<typename T , typename A >
void add_method (T *obj, void(T::*method)(const A &), const A &arg)
 
void discard (size_t num)
 
void discard (void)
 
virtual void discard_first (void)=0
 
bool empty (void) const
 
 OCTAVE_DEPRECATED ("use 'add (new fcn_arg_elem<void *> (fcn, ptr))' instead") void add(void(*fcn)(void *)
 
 operator bool (void) const
 
template<typename T >
void protect_var (T &var)
 
template<typename T >
void protect_var (T &var, const T &val)
 
void run (size_t num)
 
void run (void)
 
virtual void run_first (void)=0
 
virtual size_t size (void) const =0
 

Public Attributes

void * ptr
 

Private Member Functions

 unwind_protect (const unwind_protect &)
 
unwind_protectoperator= (const unwind_protect &)
 

Detailed Description

Definition at line 38 of file unwind-prot.h.

Constructor & Destructor Documentation

octave::unwind_protect::unwind_protect ( void  )
inline

Definition at line 44 of file unwind-prot.h.

octave::unwind_protect::~unwind_protect ( void  )
inline

Definition at line 50 of file unwind-prot.h.

octave::unwind_protect::unwind_protect ( const unwind_protect )
private

Member Function Documentation

virtual void octave::unwind_protect::add ( elem new_elem)
inlinevirtual

Implements action_container.

Definition at line 52 of file unwind-prot.h.

template<typename T >
void action_container::add_delete ( T *  obj)
inlineinherited

Definition at line 283 of file action-container.h.

Referenced by get_data_and_bytesize(), and run_command_and_return_output().

void action_container::add_fcn ( void(*)(void)  fcn)
inlineinherited
template<typename T >
void action_container::add_fcn ( void(*)(T)  action,
val 
)
inlineinherited

Definition at line 247 of file action-container.h.

template<typename T >
void action_container::add_fcn ( void(*)(const T &)  action,
const T &  val 
)
inlineinherited

Definition at line 254 of file action-container.h.

template<typename T >
void action_container::add_method ( T *  obj,
void(T::*)(void)  method 
)
inlineinherited
template<typename T , typename A >
void action_container::add_method ( T *  obj,
void(T::*)(A method,
A  arg 
)
inlineinherited

Definition at line 268 of file action-container.h.

template<typename T , typename A >
void action_container::add_method ( T *  obj,
void(T::*)(const A &)  method,
const A arg 
)
inlineinherited

Definition at line 275 of file action-container.h.

void action_container::discard ( size_t  num)
inlineinherited
void action_container::discard ( void  )
inlineinherited

Definition at line 328 of file action-container.h.

References action_container::discard(), and size.

Referenced by action_container::discard().

virtual void action_container::discard_first ( void  )
pure virtualinherited

Implemented in event_queue.

bool action_container::empty ( void  ) const
inlineinherited

Definition at line 332 of file action-container.h.

References size.

Referenced by gh_manager::do_enable_event_processing(), and gh_manager::do_process_events().

octave::unwind_protect::OCTAVE_DEPRECATED ( "use 'add (new fcn_arg_elem<void *> (fcn, ptr))' instead"  )
action_container::operator bool ( void  ) const
inlineinherited

Definition at line 302 of file action-container.h.

References empty.

unwind_protect& octave::unwind_protect::operator= ( const unwind_protect )
private
template<typename T >
void action_container::protect_var ( T &  var)
inlineinherited

Definition at line 290 of file action-container.h.

Referenced by call_mex(), DEFUN(), delete_graphics_objects(), do_edit_history(), octave_dynamic_loader::do_load_mex(), octave_dynamic_loader::do_load_oct(), octave_builtin::do_multi_index_op(), octave_user_script::do_multi_index_op(), octave_user_function::do_multi_index_op(), do_run_history(), load_path::do_set(), octave::tree_evaluator::do_unwind_protect_cleanup_code(), callback_property::execute(), Fdrawnow(), octave::base_parser::finish_array_list(), octave::base_parser::finish_colon_expression(), flush_octave_stdout(), G__eigs__(), generate_struct_completions(), get_debug_input(), file_editor_tab::handle_context_menu_break_condition(), looks_like_struct(), maybe_enter_debugger(), tree::meets_bp_condition(), parse_fcn_file(), octave_struct::print_raw(), octave_scalar_struct::print_raw(), base_graphics_object::remove_all_listeners(), sparse(), octave_class::subsasgn_common(), axes::properties::update_aspectratios(), axes::properties::update_axes_layout(), axes::update_axis_limits(), hggroup::update_axis_limits(), patch::properties::update_data(), patch::properties::update_fvc(), axes::properties::update_title_position(), axes::properties::update_xlabel_position(), axes::properties::update_ylabel_position(), axes::properties::update_zlabel_position(), jit_convert::visit(), octave::tree_evaluator::visit_complex_for_command(), octave::tree_evaluator::visit_do_until_command(), jit_convert::visit_do_until_command(), octave::tree_evaluator::visit_simple_for_command(), jit_convert::visit_simple_for_command(), octave::tree_evaluator::visit_try_catch_command(), octave::tree_evaluator::visit_while_command(), jit_convert::visit_while_command(), warning_1(), and octave_oncleanup::~octave_oncleanup().

template<typename T >
void action_container::protect_var ( T &  var,
const T &  val 
)
inlineinherited

Definition at line 297 of file action-container.h.

void action_container::run ( size_t  num)
inlineinherited
void action_container::run ( void  )
inlineinherited

Definition at line 315 of file action-container.h.

References action_container::run(), and size.

Referenced by action_container::run().

virtual void action_container::run_first ( void  )
pure virtualinherited

Implemented in event_queue.

Referenced by load_path::do_set().

virtual size_t action_container::size ( void  ) const
pure virtualinherited

Implemented in event_queue.

Member Data Documentation

void* octave::unwind_protect::ptr

Definition at line 58 of file unwind-prot.h.


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