00001 #ifndef BDSDebug_h
00002 #define BDSDebug_h
00003
00004 #include <cstddef>
00005 #include <string>
00006 #include <cstdio>
00007 #include <cstdlib>
00008
00009 inline std::string methodName(const std::string& prettyFunction)
00010 {
00011 size_t colons = prettyFunction.find("::");
00012 size_t begin = prettyFunction.substr(0,colons).rfind(" ") + 1;
00013 size_t len = prettyFunction.rfind("(") - begin;
00014 return prettyFunction.substr(begin,len) +"> ";
00015 }
00016 #define __METHOD_NAME__ methodName(__PRETTY_FUNCTION__)
00017
00018
00019 inline std::string methodEnd(const std::string& prettyFunction)
00020 {
00021 return methodName(prettyFunction) + "- end of method.";
00022 }
00023 #define __METHOD_END__ methodEnd(__PRETTY_FUNCTION__)
00024
00025
00026
00027 #endif