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