32     template <
class TimeT = std::chrono::microseconds>
 
   37         using ClockT = std::chrono::high_resolution_clock;
 
   38         const ClockT::time_point 
beg;
 
   47             return std::chrono::duration_cast<TimeT>(ClockT::now() - 
beg);
 
   56         using ClockT = std::chrono::high_resolution_clock;
 
   57         const ClockT::time_point 
beg;
 
   66             return std::chrono::duration_cast<std::chrono::microseconds>(ClockT::now() - 
beg)
 
   91     template <
class Fun, 
class TimeT>
 
  101     template <
class TimeT = IceUtil::Time>
 
  136     template <
class Fun, 
class TimeT>
 
  145 #define ARMARX_STOPWATCH(...) ::armarx::detail::TimerTag<__VA_ARGS__>{}* [&] 
  146 #define ARMARX_VIRTUAL_STOPWATCH(...) ::armarx::detail::VirtualTimerTag<__VA_ARGS__>{}* [&]