http://stackoverflow.com/questions/8001207/compile-time-typeid-without-rtti-with-gcc

https://gcc.gnu.org/onlinedocs/gcc-4.9.0/gcc/Function-Names.html

http://stackoverflow.com/questions/4384765/whats-the-difference-between-pretty-function-function-func

https://gcc.gnu.org/onlinedocs/gcc/Typeof.html