Psi4
Public Member Functions | Private Attributes | List of all members
psi::Timer_Structure Class Reference

Public Member Functions

 Timer_Structure (Timer_Structure *parent, const std::string &key)
 
void turn_on (int thread_rank=0)
 
void turn_off (int thread_rank=0)
 
const std::string & get_key () const
 
Timer_Status get_status () const
 
void set_status (Timer_Status status)
 
bool isOff ()
 
bool is_empty ()
 
bool is_empty (int thread_rank)
 
size_t get_n_calls () const
 
void set_n_calls (size_t n_calls)
 
double get_utime () const
 
void set_utime (double utime)
 
double get_stime () const
 
void set_stime (double stime)
 
clock::time_point get_wall_start () const
 
clock::duration get_wtime () const
 
void set_wtime (clock::duration wtime)
 
clock::duration get_total_wtime () const
 
const std::list
< Timer_Structure > & 
get_children () const
 
bool all_children_off ()
 
Timer_Structurefind_child (const std::string &key)
 
Timer_Structureget_child (const std::string &key)
 
bool remove_child (const std::string &key)
 
bool remove_child (Timer_Structure *timer_ptr)
 
Timer_Structureget_parent () const
 
void set_parent (Timer_Structure *parent_ptr)
 
bool merge_move (Timer_Structure *another, int thread_rank=0)
 
void merge_move_all (Timer_Structure *another)
 
Timer_Structureoperator+= (const Timer_Structure &rhs)
 
std::list< Timer_Structuresummarize ()
 

Private Attributes

std::string key_
 
Timer_Status status_
 
size_t n_calls_
 
clock::time_point wall_start_
 
struct tms ontime_
 
double utime_
 
double stime_
 
clock::duration wtime_
 
std::vector< Timer_threadthread_timers_
 
std::list< Timer_Structurechildren_
 
Timer_Structureparent_ptr_
 

Constructor & Destructor Documentation

psi::Timer_Structure::Timer_Structure ( Timer_Structure parent,
const std::string &  key 
)
inline

Member Function Documentation

bool psi::Timer_Structure::all_children_off ( )
inline
Timer_Structure* psi::Timer_Structure::find_child ( const std::string &  key)
inline
Timer_Structure* psi::Timer_Structure::get_child ( const std::string &  key)
inline
const std::list<Timer_Structure>& psi::Timer_Structure::get_children ( ) const
inline
const std::string& psi::Timer_Structure::get_key ( ) const
inline
size_t psi::Timer_Structure::get_n_calls ( ) const
inline
Timer_Structure* psi::Timer_Structure::get_parent ( ) const
inline
Timer_Status psi::Timer_Structure::get_status ( ) const
inline
double psi::Timer_Structure::get_stime ( ) const
inline
clock::duration psi::Timer_Structure::get_total_wtime ( ) const
inline
double psi::Timer_Structure::get_utime ( ) const
inline
clock::time_point psi::Timer_Structure::get_wall_start ( ) const
inline
clock::duration psi::Timer_Structure::get_wtime ( ) const
inline
bool psi::Timer_Structure::is_empty ( )
inline
bool psi::Timer_Structure::is_empty ( int  thread_rank)
inline
bool psi::Timer_Structure::isOff ( )
inline
bool psi::Timer_Structure::merge_move ( Timer_Structure another,
int  thread_rank = 0 
)
inline
void psi::Timer_Structure::merge_move_all ( Timer_Structure another)
inline
Timer_Structure& psi::Timer_Structure::operator+= ( const Timer_Structure rhs)
inline
bool psi::Timer_Structure::remove_child ( const std::string &  key)
inline
bool psi::Timer_Structure::remove_child ( Timer_Structure timer_ptr)
inline
void psi::Timer_Structure::set_n_calls ( size_t  n_calls)
inline
void psi::Timer_Structure::set_parent ( Timer_Structure parent_ptr)
inline
void psi::Timer_Structure::set_status ( Timer_Status  status)
inline
void psi::Timer_Structure::set_stime ( double  stime)
inline
void psi::Timer_Structure::set_utime ( double  utime)
inline
void psi::Timer_Structure::set_wtime ( clock::duration  wtime)
inline
std::list<Timer_Structure> psi::Timer_Structure::summarize ( )
inline
void psi::Timer_Structure::turn_off ( int  thread_rank = 0)
inline
void psi::Timer_Structure::turn_on ( int  thread_rank = 0)
inline

Member Data Documentation

std::list<Timer_Structure> psi::Timer_Structure::children_
private
std::string psi::Timer_Structure::key_
private
size_t psi::Timer_Structure::n_calls_
private
struct tms psi::Timer_Structure::ontime_
private
Timer_Structure* psi::Timer_Structure::parent_ptr_
private
Timer_Status psi::Timer_Structure::status_
private
double psi::Timer_Structure::stime_
private
std::vector<Timer_thread> psi::Timer_Structure::thread_timers_
private
double psi::Timer_Structure::utime_
private
clock::time_point psi::Timer_Structure::wall_start_
private
clock::duration psi::Timer_Structure::wtime_
private

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