#pragma once namespace frob { using u8 = unsigned char; constexpr u8 rot13(u8 i) { return i ^ (u8)42; } template struct cfrob { char out[N]{}; constexpr cfrob(const char (&sz)[N]) { for(std::size_t i=0;i struct cfrob<0> { char out[0]{}; }; } template constexpr auto operator "" _frob() { return C.out; }