Soar Kernel  9.3.2 08-06-12
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Protected Attributes
soar_module::timer Class Reference

#include <soar_module.h>

Inherits soar_module::named_object.

Inherited by epmem_timer, smem_timer, and wma_timer.

Public Types

enum  timer_level

Public Member Functions

virtual char * get_string ()
virtual void reset ()
virtual void start ()
virtual void stop ()
 timer (const char *new_name, agent *new_agent, timer_level new_level, predicate< timer_level > *new_pred, bool soar_control=true)
virtual double value ()
virtual ~timer ()
- Public Member Functions inherited from soar_module::named_object
const char * get_name ()
 named_object (const char *new_name)
virtual ~named_object ()

Protected Attributes

soar_timer_accumulator accumulator
timer_level level
agentmy_agent
predicate< timer_level > * pred
soar_process_timer stopwatch

Detailed Description

Definition at line 830 of file soar_module.h.

Member Enumeration Documentation

Enumerator:
zero 
one 
two 
three 
four 
five 

Definition at line 833 of file soar_module.h.

Constructor & Destructor Documentation

soar_module::timer::timer ( const char *  new_name,
agent new_agent,
timer_level  new_level,
predicate< timer_level > *  new_pred,
bool  soar_control = true 
)

Definition at line 38 of file soar_module.cpp.

References reset(), stopwatch, agent_struct::sysparams, and TIMERS_ENABLED.

: named_object( new_name ), my_agent( new_agent ), level( new_level ), pred( new_pred )
{
stopwatch.set_enabled( ( ( soar_control )?( &( new_agent->sysparams[ TIMERS_ENABLED ] ) ):( NULL ) ) );
reset();
}
virtual soar_module::timer::~timer ( )
inlinevirtual

Definition at line 848 of file soar_module.h.

References pred.

{
delete pred;
}

Member Function Documentation

virtual char* soar_module::timer::get_string ( )
inlinevirtual

Implements soar_module::named_object.

Definition at line 855 of file soar_module.h.

References value().

{
double my_value = value();
std::string temp_str;
to_string( my_value, temp_str );
return strdup(temp_str.c_str());
}
virtual void soar_module::timer::reset ( )
inlinevirtual

Definition at line 866 of file soar_module.h.

References stopwatch.

Referenced by timer().

{
stopwatch.stop();
accumulator.reset();
}
virtual void soar_module::timer::start ( )
inlinevirtual
virtual void soar_module::timer::stop ( )
inlinevirtual
virtual double soar_module::timer::value ( )
inlinevirtual

Definition at line 872 of file soar_module.h.

Referenced by do_one_top_level_phase(), and get_string().

{
return accumulator.get_sec();
}

Field Documentation

soar_timer_accumulator soar_module::timer::accumulator
protected

Definition at line 839 of file soar_module.h.

timer_level soar_module::timer::level
protected

Definition at line 841 of file soar_module.h.

Referenced by start(), and stop().

agent* soar_module::timer::my_agent
protected

Definition at line 836 of file soar_module.h.

predicate<timer_level>* soar_module::timer::pred
protected

Definition at line 842 of file soar_module.h.

Referenced by start(), stop(), and ~timer().

soar_process_timer soar_module::timer::stopwatch
protected

Definition at line 838 of file soar_module.h.

Referenced by reset(), start(), stop(), and timer().


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