26 #if ! defined (octave_profiler_h)
27 #define octave_profiler_h 1
29 #include "octave-config.h"
49 template <
typename T>
class enter
62 m_enabled = m_profiler.
enabled ();
66 m_fcn = t.profiler_name ();
102 bool enabled (
void)
const {
return m_enabled; }
103 void set_active (
bool);
166 octave_value get_hierarchical (
double *total =
nullptr)
const;
173 typedef std::map<octave_idx_type, tree_node*>
child_map;
202 void enter_function (
const std::string&);
203 void exit_function (
const std::string&);
209 double query_time (
void)
const;
214 void add_current_time (
void);
enter(profiler &p, const T &t)
enter(const enter &)=delete
std::map< octave_idx_type, tree_node * > child_map
tree_node(const tree_node &)=delete
void exit_function(const std::string &)
fcn_index_map m_fcn_index
std::vector< std::string > function_set
function_set m_known_functions
std::vector< stats > flat_profile
profiler(const profiler &)=delete
std::map< std::string, octave_idx_type > fcn_index_map
void enter_function(const std::string &)
std::set< octave_idx_type > function_set