SPUC
3.0
|
#include <typeinfo>
#include <cxxabi.h>
Macros | |
#define | DEMG(x) abi::__cxa_demangle(typeid(x).name(),0,0,&status) |
#define | TYPE_NAME(x) std::cout << "Type of " << #x << " is " << abi::__cxa_demangle(typeid(x).name(),0,0,&status) << "\n"; |
#define | TYPE_SHORT(x) std::cout << #x << " type " << abi::__cxa_demangle(typeid(x).name(),0,0,&status) << " "; |
#define | TYPE_TEMPLATE_LSHIFT(x, y) std::cout << "Type of \"" << DEMG(x) << x << " << " << y; std::cout << "\" is " << DEMG(x << int_size<y>()) << "\n"; |
#define | TYPE_TEMPLATE_RSHIFT(x, y) std::cout << "Type of \"" << DEMG(x) << x << " >> " << y; std::cout << "\" is " << DEMG(x >> int_size<y>()) << "\n"; |
#define | TYPE_NAME_SHIFT(x, y, OP) std::cout << "Type of \"" << DEMG(x) << " "; std::cout << #OP << " " << y << "\" is " << DEMG(x OP y) << "\n"; |
#define | TYPE_NAME_FUNC_INTARG1(x, OP, y) std::cout << "Type of " << #OP << "(" << DEMG(x) << "," << y << ") is " << DEMG(OP(x,y)) << "\n"; |
#define | TYPE_NAME_OP(x, y, OP) |
#define | TYPE_NAME_FUNC2(x, y, OP) |
#define | TYPE_NAME_FUNC(x, OP) |
#define | UTYPE_NAME_OP(x, y, OP) std::cout << "Type of " << DEMG(x) << #OP << DEMG(y) << " is ***undefined*******\n"; |
#define | UTYPE_NAME_FUNC2(x, y, OP) std::cout << "Type of " << #OP << "(" << DEMG(x) << "," << DEMG(y) << ") is ***undefined****\n"; |
#define | UTYPE_NAME_FUNC(x, OP) std::cout << "Type of " << #OP << "(" << DEMG(x) << ") is ***undefined******\n"; |
#define | MIXED_TYPES(a, b, c) |
#define | THIS_MIXED_TYPES(a, b, c) |
#define | DMIXED_TYPES(a, b, c) |
#define | DMIXED_THIS_TYPES(a, b, c) |
#define | FUNC_TYPES(a, b, c) |
#define | TO_INT_TYPES(a) |
#define | VALUE_TEMPLATE_LSHIFT(x, y) std::cout << "Value of \"" << DEMG(x) << x << " << " << y; std::cout << "\" is " << (x << int_size<y>()) << "\n"; |
#define | VALUE_TEMPLATE_RSHIFT(x, y) std::cout << "Value of \"" << DEMG(x) << x << " >> " << y; std::cout << "\" is " << (x >> int_size<y>()) << "\n"; |
#define | VALUE_NAME_FUNC_INTARG1(a, F, b) F(a,b) |
#define | VALUE_NAME_SHIFT(x, y, OP) std::cout << "Value of \"" << DEMG(x) << x << " "; std::cout << #OP << " " << y << "\" is " << (x OP y) << "\n"; |
#define | VALUE_NAME_FUNC(x, OP) std::cout << "Value of " << #OP << "(" << DEMG(x) << x << ") is " << OP(x) << "\n"; |
#define | VALUE_NAME_OP(x, y, OP) |
#define | VALUE_NAME_FUNC2(x, y, OP) std::cout << "Value of " << #OP << "(" << DEMG(x) << x << "," << DEMG(y) << y << ") is " << OP(x,y) << "\n"; |
#define | MIXED_VALUES(a, b, c) |
#define | THIS_MIXED_VALUES(a, b, c) |
#define | DMIXED_VALUES(a, b, c) |
#define | DMIXED_THIS_VALUES(a, b, c) |
#define | FUNC_VALUES(a, b, c) |
#define | FUNC2_VALUES(a, b, c) |
#define | FUNC2_TYPES(a, b, c) |
#define DEMG | ( | x | ) | abi::__cxa_demangle(typeid(x).name(),0,0,&status) |
#define DMIXED_THIS_TYPES | ( | a, | |
b, | |||
c | |||
) |
#define DMIXED_THIS_VALUES | ( | a, | |
b, | |||
c | |||
) |
#define DMIXED_TYPES | ( | a, | |
b, | |||
c | |||
) |
#define DMIXED_VALUES | ( | a, | |
b, | |||
c | |||
) |
#define FUNC2_TYPES | ( | a, | |
b, | |||
c | |||
) |
#define FUNC2_VALUES | ( | a, | |
b, | |||
c | |||
) |
#define FUNC_TYPES | ( | a, | |
b, | |||
c | |||
) |
#define FUNC_VALUES | ( | a, | |
b, | |||
c | |||
) |
#define MIXED_TYPES | ( | a, | |
b, | |||
c | |||
) |
#define MIXED_VALUES | ( | a, | |
b, | |||
c | |||
) |
#define THIS_MIXED_TYPES | ( | a, | |
b, | |||
c | |||
) |
#define THIS_MIXED_VALUES | ( | a, | |
b, | |||
c | |||
) |
#define TO_INT_TYPES | ( | a | ) |
#define TYPE_NAME | ( | x | ) | std::cout << "Type of " << #x << " is " << abi::__cxa_demangle(typeid(x).name(),0,0,&status) << "\n"; |
#define TYPE_NAME_FUNC | ( | x, | |
OP | |||
) |
#define TYPE_NAME_FUNC2 | ( | x, | |
y, | |||
OP | |||
) |
#define TYPE_NAME_FUNC_INTARG1 | ( | x, | |
OP, | |||
y | |||
) | std::cout << "Type of " << #OP << "(" << DEMG(x) << "," << y << ") is " << DEMG(OP(x,y)) << "\n"; |
#define TYPE_NAME_OP | ( | x, | |
y, | |||
OP | |||
) |
#define TYPE_NAME_SHIFT | ( | x, | |
y, | |||
OP | |||
) | std::cout << "Type of \"" << DEMG(x) << " "; std::cout << #OP << " " << y << "\" is " << DEMG(x OP y) << "\n"; |
#define TYPE_SHORT | ( | x | ) | std::cout << #x << " type " << abi::__cxa_demangle(typeid(x).name(),0,0,&status) << " "; |
#define TYPE_TEMPLATE_LSHIFT | ( | x, | |
y | |||
) | std::cout << "Type of \"" << DEMG(x) << x << " << " << y; std::cout << "\" is " << DEMG(x << int_size<y>()) << "\n"; |
#define TYPE_TEMPLATE_RSHIFT | ( | x, | |
y | |||
) | std::cout << "Type of \"" << DEMG(x) << x << " >> " << y; std::cout << "\" is " << DEMG(x >> int_size<y>()) << "\n"; |
#define UTYPE_NAME_FUNC | ( | x, | |
OP | |||
) | std::cout << "Type of " << #OP << "(" << DEMG(x) << ") is ***undefined******\n"; |
#define UTYPE_NAME_FUNC2 | ( | x, | |
y, | |||
OP | |||
) | std::cout << "Type of " << #OP << "(" << DEMG(x) << "," << DEMG(y) << ") is ***undefined****\n"; |
#define UTYPE_NAME_OP | ( | x, | |
y, | |||
OP | |||
) | std::cout << "Type of " << DEMG(x) << #OP << DEMG(y) << " is ***undefined*******\n"; |
#define VALUE_NAME_FUNC | ( | x, | |
OP | |||
) | std::cout << "Value of " << #OP << "(" << DEMG(x) << x << ") is " << OP(x) << "\n"; |
#define VALUE_NAME_FUNC2 | ( | x, | |
y, | |||
OP | |||
) | std::cout << "Value of " << #OP << "(" << DEMG(x) << x << "," << DEMG(y) << y << ") is " << OP(x,y) << "\n"; |
#define VALUE_NAME_FUNC_INTARG1 | ( | a, | |
F, | |||
b | |||
) | F(a,b) |
#define VALUE_NAME_OP | ( | x, | |
y, | |||
OP | |||
) |
#define VALUE_NAME_SHIFT | ( | x, | |
y, | |||
OP | |||
) | std::cout << "Value of \"" << DEMG(x) << x << " "; std::cout << #OP << " " << y << "\" is " << (x OP y) << "\n"; |
#define VALUE_TEMPLATE_LSHIFT | ( | x, | |
y | |||
) | std::cout << "Value of \"" << DEMG(x) << x << " << " << y; std::cout << "\" is " << (x << int_size<y>()) << "\n"; |
#define VALUE_TEMPLATE_RSHIFT | ( | x, | |
y | |||
) | std::cout << "Value of \"" << DEMG(x) << x << " >> " << y; std::cout << "\" is " << (x >> int_size<y>()) << "\n"; |