#ifndef RFL_INTERNAL_REMOVE_NAMESPACES_HPP_ #define RFL_INTERNAL_REMOVE_NAMESPACES_HPP_ #include #include #include #include "StringLiteral.hpp" namespace rfl { namespace internal { template consteval auto remove_namespaces() { constexpr auto name = _name.string_view(); constexpr size_t pos = name.find_last_of(":"); if constexpr (pos == std::string_view::npos) { return _name; } constexpr auto substr = name.substr(pos + 1); const auto to_str_lit = [&](std::index_sequence) { return StringLiteral { substr[Ns]... }; }; return to_str_lit(std::make_index_sequence {}); } } // namespace internal } // namespace rfl #endif