11#include " codspeed.h"
2- #include < string>
32#include < iostream>
3+ #include < string>
4+
5+ namespace codspeed {
46
57// Example: auto outer::test12::(anonymous class)::operator()() const
68// Returns: outer::test12::
7- std::string extract_namespace_clang (const std::string& pretty_func) {
9+ std::string extract_namespace_clang (const std::string & pretty_func) {
810 std::size_t anon_class_pos = pretty_func.find (" ::(anonymous class)" );
911 std::size_t space_pos = pretty_func.find (' ' );
1012
@@ -18,31 +20,34 @@ std::string extract_namespace_clang(const std::string& pretty_func) {
1820
1921// Example: outer::test12::<lambda()>
2022// Returns: outer::test12::
21- std::string extract_namespace_gcc (const std::string& pretty_func) {
22- auto lambda_pos = pretty_func.find (" ::<lambda()>" );
23- if (lambda_pos == std::string::npos) {
24- return {};
25- }
23+ std::string extract_namespace_gcc (const std::string & pretty_func) {
24+ auto lambda_pos = pretty_func.find (" ::<lambda()>" );
25+ if (lambda_pos == std::string::npos) {
26+ return {};
27+ }
2628
27- return pretty_func.substr (0 , lambda_pos) + " ::" ;
29+ return pretty_func.substr (0 , lambda_pos) + " ::" ;
2830}
2931
30- // Has to pass the pretty function from a lambda:
32+ // Has to pass the pretty function from a lambda:
3133// (([]() { return __PRETTY_FUNCTION__; })())
3234//
33- // Returns: An empty string if the namespace could not be extracted,
35+ // Returns: An empty string if the namespace could not be extracted,
3436// otherwise the namespace with a trailing "::"
35- std::string extract_lambda_namespace (const std::string& pretty_func) {
37+ std::string extract_lambda_namespace (const std::string & pretty_func) {
3638 if (pretty_func.find (" (anonymous namespace)" ) != std::string::npos) {
37- std::cerr << " [ERROR] Anonymous namespace not supported in " << pretty_func << std::endl;
39+ std::cerr << " [ERROR] Anonymous namespace not supported in " << pretty_func
40+ << std::endl;
3841 return {};
3942 }
4043
4144#ifdef __clang__
42- return extract_namespace_clang (pretty_func);
45+ return extract_namespace_clang (pretty_func);
4346#elif __GNUC__
44- return extract_namespace_gcc (pretty_func);
47+ return extract_namespace_gcc (pretty_func);
4548#else
4649#error "Unsupported compiler"
4750#endif
4851}
52+
53+ } // namespace codspeed
0 commit comments