10#include "Teuchos_CTimeMonitor.h" 
   12#include "Teuchos_implicit_cast.hpp" 
   13#include "Teuchos_StandardCatchMacros.hpp" 
   14#include "Teuchos_VerboseObject.hpp" 
   15#include "Teuchos_CompilerCodeTweakMacros.hpp" 
   22TimerArray_t timerArray;
 
   28int Teuchos_startTimer( 
char timerName[], 
int timerID )
 
   36      timerArray.back()->start();
 
   37      return timerArray.size()-1;
 
   41      timerID >=  implicit_cast<int>(timerArray.size()), std::logic_error,
 
   42      "Teuchos_startTimer(...): Error, timerID="<<timerID
 
   43      <<
" is >= timerArray.size()="<<timerArray.size()
 
   44      <<
" for timerName=\""<<timerName<<
"\"!" 
   48      timer->isRunning(), std::logic_error,
 
   49      "Teuchos_startTimer(...): Error, timerID="<<timerID
 
   50      <<
", timerName=\""<<timerName<<
"\" is already running!" 
   63void Teuchos_stopTimer( 
int timerID )
 
   69      timerID < 0 || timerID >= implicit_cast<int>(timerArray.size()),
 
   71      "Teuchos_stopTimer(...): Error, timerID="<<timerID<<
" is invalid!" 
   76    timer->incrementNumCalls();
 
Scope guard for Teuchos::Time, with MPI collective timer reporting.
 
Smart reference counting pointer class for automatic garbage collection.
 
static RCP< FancyOStream > getDefaultOStream()
Get the default output stream object.
 
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
Macro for throwing an exception with breakpointing to ease debugging.
 
TypeTo implicit_cast(const TypeFrom &t)
Perform an implicit cast of concrete types with the casted object returned by value.
 
#define TEUCHOS_STANDARD_CATCH_STATEMENTS(VERBOSE, ERR_STREAM, SUCCESS_FLAG)
Simple macro that catches and reports standard exceptions and other exceptions.