17 #ifndef _SCC_TRACER_BASE_H_ 
   18 #define _SCC_TRACER_BASE_H_ 
   20 #include "utilities.h" 
   21 #include <sysc/tracing/sc_trace.h> 
   22 #include <type_traits> 
   52     return static_cast<trace_types>(
static_cast<unsigned>(lhs) | 
static_cast<unsigned>(rhs));
 
   63     return static_cast<trace_types>(
static_cast<unsigned>(lhs) & 
static_cast<unsigned>(rhs));
 
   87     : sc_core::sc_module(nm) {}
 
   96     tracer_base(
const sc_core::sc_module_name& nm, sc_core::sc_trace_file* tf, 
bool owned = 
true)
 
   97     : sc_core::sc_module(nm)
 
  136     static std::string get_name();
 
  141     virtual void descend(
const sc_core::sc_object*, 
bool trace_all);
 
  143     static void try_trace(sc_core::sc_trace_file* trace_file, 
const sc_core::sc_object* 
object, 
trace_types t);
 
  145     sc_core::sc_trace_file* trf{
nullptr};
 
base class for automatic tracer
const sc_core::sc_trace_file * get_trace_file() const
get the tracefile used by this tracer
bool default_trace_enable
the default for tracing if no attribute is configured
tracer_base(const sc_core::sc_module_name &nm, sc_core::sc_trace_file *tf, bool owned=true)
named constructor with trace file
void set_trace_file(sc_core::sc_trace_file *trf)
set the trace file of this tracer
tracer_base(const sc_core::sc_module_name &nm)
named constructor
void set_trace_types(trace_types t)
set the types to trace
trace_types
identifies the various type to be traced
trace_types operator&(trace_types lhs, trace_types rhs)
operator overload to allow boolean and operations on trace_types
trace_types operator|(trace_types lhs, trace_types rhs)
operator overload to allow boolean or operations on trace_types