12#ifndef ARCANE_UTILS_TRACEACCESSOR2_H
13#define ARCANE_UTILS_TRACEACCESSOR2_H
17#include "arcane/utils/TraceAccessor.h"
18#include "arcane/utils/String.h"
23namespace Arcane::internal
37 bool isActive()
const {
return m_is_active; }
39 bool m_is_active =
false;
46 TracePrinter(
const char* name,
const T& r) : m_name(name), m_r(r){}
47 friend std::ostream& operator<<(std::ostream& o,
const TracePrinter<T>& x)
49 o <<
" " << x.m_name <<
"=" << x.m_r;
58inline TracePrinter<T> makeTracePrinter(
const char* name,
const T& field_name)
63template<
typename ...Args>
String
64format2(
const String& str,
const Args& ...args)
66 return String::format(str,args...);
73isTraceActive(
const TraceAccessor2* tr)
75 return tr->isActive();
78#define A_TR(field_name) Arcane::internal::makeTracePrinter(#field_name,field_name)
80#define A_TR2(name,field_name) Arcane::internal::makeTracePrinter(name,field_name)
84 if (Arcane::internal::isTraceActive(this)) { \
85 info() << Arcane::String::format(__VA_ARGS__); \
API EN COURS DE CONCEPTION. NE PAS UTILISER.
Interface du gestionnaire de traces.
Chaîne de caractères unicode.
Classe d'accès aux traces.