Mercurial > jwe > octave
diff libinterp/octave-value/ov-base.h @ 31110:670a0d878af1
eliminate WHO arguments from interpreter-private functions
* interpreter-private.h, inpterpreter-private.cc (__get_interpreter__,
__get_dynamic_loader__, __get_error_system__, __get_gh_manager__,
__get_help_system__, __get_input_system__, __get_load_path__,
__get_load_save_system__, __get_event_manager__,
__get_output_system__, __get_type_info__, __get_symbol_table__,
__get_current_scope__, __require_current_scope__, __get_evaluator__,
__get_bp_table__, __get_child_list__, __get_cdef_manager__,
__get_display_info__, __get_gtk_manager__): Eliminate WHO argument.
Previously, it was never displayed by __get_interpreter__. And, as
pointed out by Petter Tomner in patch #10216, passing a std::string
object could have performance issues.
(__get_interpreter__): Eliminate useless call to error. Display
message to std::cerr then abort.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 22 Jun 2022 12:48:59 -0400 |
parents | eba0a86471b9 |
children | d98abdd15d40 |
line wrap: on
line diff
--- a/libinterp/octave-value/ov-base.h Tue Jun 21 15:44:03 2022 +0200 +++ b/libinterp/octave-value/ov-base.h Wed Jun 22 12:48:59 2022 -0400 @@ -51,9 +51,11 @@ // FIXME: This is not ideal, but it avoids including // interpreter-private.h here and bringing in a lot of unnecessary - // symbols that require even more header files. + // symbols that require even more header files. Since the typeinfo + // object is required to load a user-defined octave_value object, + // maybe this function should be declared in a public header file? - extern OCTINTERP_API type_info& __get_type_info__ (const std::string&); + extern OCTINTERP_API type_info& __get_type_info__ (void); } class Cell; @@ -205,8 +207,7 @@ tspec const std::string t::c_name (c); \ tspec void t::register_type (void) \ { \ - octave::type_info& type_info \ - = octave::__get_type_info__ (#t "::register_type"); \ + octave::type_info& type_info = octave::__get_type_info__ (); \ \ register_type (type_info); \ } \