nngn
Loading...
Searching...
No Matches
profile.h File Reference
#include <array>
#include <cstddef>
#include <cstdint>
#include <tuple>
#include "utils/utils.h"
#include "stats.h"
#include "timing.h"
Include dependency graph for profile.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  nngn::ProfileStats
 
struct  nngn::Profile
 
struct  nngn::Profile::context< T >
 

Namespaces

namespace  nngn
 

Macros

#define NNGN_STATS_CONTEXT(c, p)    const auto NNGN_STATS_CONTEXT_VAR(__LINE__) = nngn::Profile::context<c>(p);
 
#define NNGN_PROFILE_CONTEXT(p)    NNGN_STATS_CONTEXT(nngn::Profile, &nngn::Profile::stats.p)
 
#define NNGN_STATS_CONTEXT_VAR(l)   NNGN_STATS_CONTEXT_JOIN(prof_, l)
 
#define NNGN_STATS_CONTEXT_JOIN(x, y)   x##y
 

Macro Definition Documentation

◆ NNGN_PROFILE_CONTEXT

#define NNGN_PROFILE_CONTEXT (   p)     NNGN_STATS_CONTEXT(nngn::Profile, &nngn::Profile::stats.p)

◆ NNGN_STATS_CONTEXT

#define NNGN_STATS_CONTEXT (   c,
  p 
)     const auto NNGN_STATS_CONTEXT_VAR(__LINE__) = nngn::Profile::context<c>(p);

◆ NNGN_STATS_CONTEXT_JOIN

#define NNGN_STATS_CONTEXT_JOIN (   x,
 
)    x##y

◆ NNGN_STATS_CONTEXT_VAR

#define NNGN_STATS_CONTEXT_VAR (   l)    NNGN_STATS_CONTEXT_JOIN(prof_, l)