39#ifndef BLOCXX_FUNC_NAME_PRINTER_HPP
40#define BLOCXX_FUNC_NAME_PRINTER_HPP
41#include "blocxx/BLOCXX_config.h"
50#ifdef BLOCXX_PRINT_FUNC_DEBUG
51#define PRINT_FUNC_NAME BLOCXX_FuncNamePrinter fnp##__LINE__ (__PRETTY_FUNCTION__)
53#define PRINT_FUNC_NAME_ARGS1(a) BLOCXX_FuncNamePrinter fnp##__LINE__ ( __PRETTY_FUNCTION__ , a)
54#define PRINT_FUNC_NAME_ARGS2(a, b) BLOCXX_FuncNamePrinter fnp##__LINE__ ( __PRETTY_FUNCTION__ , a, b)
55#define PRINT_FUNC_NAME_ARGS3(a, b, c) BLOCXX_FuncNamePrinter fnp##__LINE__ ( __PRETTY_FUNCTION__ , a, b, c)
56#define PRINT_FUNC_NAME_ARGS4(a, b, c, d) BLOCXX_FuncNamePrinter fnp##__LINE__ ( __PRETTY_FUNCTION__ , a, b, c, d)
57#define PRINT_FUNC_NAME_ARGS5(a, b, c, d, e) BLOCXX_FuncNamePrinter fnp##__LINE__ ( __PRETTY_FUNCTION__ , a, b, c, d, e)
58#define PRINT_FUNC_NAME_ARGS6(a, b, c, d, e, f) BLOCXX_FuncNamePrinter fnp##__LINE__ ( __PRETTY_FUNCTION__ , a, b, c, d, e, f)
59#define PRINT_FUNC_NAME_ARGS7(a, b, c, d, e, f, g) BLOCXX_FuncNamePrinter fnp##__LINE__ ( __PRETTY_FUNCTION__ , a, b, c, d, e, f, g)
60#define PRINT_FUNC_NAME_ARGS8(a, b, c, d, e, f, g, h) BLOCXX_FuncNamePrinter fnp##__LINE__ ( __PRETTY_FUNCTION__ , a, b, c, d, e, f, g, h)
61#define PRINT_FUNC_NAME_ARGS9(a, b, c, d, e, f, g, h, i) BLOCXX_FuncNamePrinter fnp##__LINE__ ( __PRETTY_FUNCTION__ , a, b, c, d, e, f, g, h, i)
62#define PRINT_FUNC_NAME_ARGS10(a, b, c, d, e, f, g, h, i, j) BLOCXX_FuncNamePrinter fnp##__LINE__ ( __PRETTY_FUNCTION__ , a, b, c, d, e, f, g, h, i, j)
64#define PRINT_FUNC_NAME_ARGS1(a)
65#define PRINT_FUNC_NAME_ARGS2(a, b)
66#define PRINT_FUNC_NAME_ARGS3(a, b, c)
67#define PRINT_FUNC_NAME_ARGS4(a, b, c, d)
68#define PRINT_FUNC_NAME_ARGS5(a, b, c, d, e)
69#define PRINT_FUNC_NAME_ARGS6(a, b, c, d, e, f)
70#define PRINT_FUNC_NAME_ARGS7(a, b, c, d, e, f, g)
71#define PRINT_FUNC_NAME_ARGS8(a, b, c, d, e, f, g, h)
72#define PRINT_FUNC_NAME_ARGS9(a, b, c, d, e, f, g, h, i)
73#define PRINT_FUNC_NAME_ARGS10(a, b, c, d, e, f, g, h, i, j)
74#define PRINT_FUNC_NAME
94 Format(
"(%1)", a).c_str());
96 template<
typename A,
typename B>
100 Format(
"(%1, %2)", a,
b).c_str());
102 template<
typename A,
typename B,
typename C>
106 Format(
"(%1, %2, %3)", a,
b,
c).c_str());
108 template<
typename A,
typename B,
typename C,
typename D>
112 Format(
"(%1, %2, %3, %4)", a,
b,
c,
d).c_str());
114 template<
typename A,
typename B,
typename C,
typename D,
typename E>
118 Format(
"(%1, %2, %3, %4, %5)", a,
b,
c,
d,
e).c_str());
120 template<
typename A,
typename B,
typename C,
typename D,
typename E,
typename F>
124 Format(
"(%1, %2, %3, %4, %5, %6)", a,
b,
c,
d,
e,
f).c_str());
126 template<
typename A,
typename B,
typename C,
typename D,
typename E,
typename F,
131 Format(
"(%1, %2, %3, %4, %5, %6, %7)", a,
b,
c,
d,
e,
f,
g).c_str());
133 template<
typename A,
typename B,
typename C,
typename D,
typename E,
typename F,
134 typename G,
typename H>
138 Format(
"(%1, %2, %3, %4, %5, %6, %7, %8)", a,
b,
c,
d,
e,
f,
g,
h).c_str());
140 template<
typename A,
typename B,
typename C,
typename D,
typename E,
typename F,
141 typename G,
typename H,
typename I>
145 Format(
"(%1, %2, %3, %4, %5, %6, %7, %8, %9)", a,
b,
c,
d,
e,
f,
g,
h,
i).c_str());
147 template<
typename A,
typename B,
typename C,
typename D,
typename E,
typename F,
148 typename G,
typename H,
typename I,
typename J>
149 FuncNamePrinter(
const char*
funcName,
const A& a,
const B&
b,
const C&
c,
const D&
d,
const E&
e,
const F&
f,
const G&
g,
const H&
h,
const I&
i,
const J&
j) :
m_funcName(
funcName)
152 Format(
"(%1, %2, %3, %4, %5, %6, %7, %8, %9)", a,
b,
c,
d,
e,
f,
g,
h,
Format(
"%1, %2",
i,
j)).c_str());
FuncNamePrinter(const char *funcName, const A &a, const B &b, const C &c, const D &d)
FuncNamePrinter(const char *funcName, const A &a, const B &b, const C &c, const D &d, const E &e)
FuncNamePrinter(const char *funcName, const A &a, const B &b, const C &c, const D &d, const E &e, const F &f, const G &g, const H &h)
FuncNamePrinter(const char *funcName, const A &a, const B &b, const C &c, const D &d, const E &e, const F &f)
FuncNamePrinter(const char *funcName, const A &a)
FuncNamePrinter(const char *funcName, const A &a, const B &b, const C &c)
FuncNamePrinter(const char *funcName)
FuncNamePrinter(const char *funcName, const A &a, const B &b, const C &c, const D &d, const E &e, const F &f, const G &g, const H &h, const I &i, const J &j)
FuncNamePrinter(const char *funcName, const A &a, const B &b, const C &c, const D &d, const E &e, const F &f, const G &g)
FuncNamePrinter(const char *funcName, const A &a, const B &b, const C &c, const D &d, const E &e, const F &f, const G &g, const H &h, const I &i)
FuncNamePrinter(const char *funcName, const A &a, const B &b)
bool operator==(const Array< T > &x, const Array< T > &y)