trace.h File Reference
#include <boost/current_function.hpp>
#include <iosfwd>
#include <cstdint>
#include <string>
+ Include dependency graph for trace.h:

Go to the source code of this file.

Classes

struct  LocationProvider
 
struct  LocationProvider::Location
 
struct  Trace
 

Namespaces

 armarx
 This file offers overloads of toIce() and fromIce() functions for STL container types.
 
 armarx::detail
 

Macros

#define _detail_TRACE(fi, li, var)
 
#define _detail_TRACE_expand(...)   _detail_TRACE_mk_var(__VA_ARGS__)
 
#define _detail_TRACE_mk_var(fi, li, cnt)   _detail_TRACE(fi, li, _detail_trace_variable_ ## cnt ## _ ## li)
 
#define _detail_TRACElite_expand(...)   _detail_TRACElite_mk_var(__VA_ARGS__)
 
#define _detail_TRACElite_f(fi, li, var)
 
#define _detail_TRACElite_mk_var(fi, li, cnt)   _detail_TRACElite_f(fi, li, _detail_trace_variable_ ## cnt ## _ ## li)
 
#define ARMARX_TRACE   _detail_TRACE_expand(__FILE__, __LINE__, __COUNTER__)
 
#define ARMARX_TRACE_LITE   _detail_TRACElite_expand(__FILE__, __LINE__, __COUNTER__)
 

Macro Definition Documentation

◆ _detail_TRACE

#define _detail_TRACE (   fi,
  li,
  var 
)
Value:
static constexpr auto var ## _cfunc = BOOST_CURRENT_FUNCTION; \
const struct var ## TraceType: ::armarx::detail::Trace \
{ \
::armarx::detail::LocationProvider::Location static Location() {return {fi, var ## _cfunc, li};} \
var ## TraceType() : Trace{var ## TraceType::Location} {} \
} var

Definition at line 72 of file trace.h.

◆ _detail_TRACE_expand

#define _detail_TRACE_expand (   ...)    _detail_TRACE_mk_var(__VA_ARGS__)

Definition at line 70 of file trace.h.

◆ _detail_TRACE_mk_var

#define _detail_TRACE_mk_var (   fi,
  li,
  cnt 
)    _detail_TRACE(fi, li, _detail_trace_variable_ ## cnt ## _ ## li)

Definition at line 71 of file trace.h.

◆ _detail_TRACElite_expand

#define _detail_TRACElite_expand (   ...)    _detail_TRACElite_mk_var(__VA_ARGS__)

Definition at line 86 of file trace.h.

◆ _detail_TRACElite_f

#define _detail_TRACElite_f (   fi,
  li,
  var 
)
Value:
[[maybe_unused]] struct var ## TraceType: ::armarx::detail::Trace \
{ \
::armarx::detail::LocationProvider::Location static Location() {return {fi, "fuction name is unknown!", li};} \
var ## TraceType(const ::armarx::LogSender&) : Trace{var ## TraceType::Location} {} \
var ## TraceType() : Trace{var ## TraceType::Location} {} \
} var

Definition at line 88 of file trace.h.

◆ _detail_TRACElite_mk_var

#define _detail_TRACElite_mk_var (   fi,
  li,
  cnt 
)    _detail_TRACElite_f(fi, li, _detail_trace_variable_ ## cnt ## _ ## li)

Definition at line 87 of file trace.h.

◆ ARMARX_TRACE

#define ARMARX_TRACE   _detail_TRACE_expand(__FILE__, __LINE__, __COUNTER__)

Definition at line 69 of file trace.h.

◆ ARMARX_TRACE_LITE

#define ARMARX_TRACE_LITE   _detail_TRACElite_expand(__FILE__, __LINE__, __COUNTER__)

Definition at line 85 of file trace.h.

armarx::detail::Trace
Definition: trace.h:24
GfxTL::Trace
T Trace(const MatrixXX< N, N, T > &a)
Definition: MatrixXX.h:438
armarx::detail::LocationProvider::Location
Definition: trace.h:15