diff --git a/xo-tokenizer/include/xo/tokenizer/span.hpp b/xo-tokenizer/include/xo/tokenizer/span.hpp index 2b9166c6..bb1eeccb 100644 --- a/xo-tokenizer/include/xo/tokenizer/span.hpp +++ b/xo-tokenizer/include/xo/tokenizer/span.hpp @@ -3,6 +3,7 @@ #pragma once #include "xo/indentlog/scope.hpp" +#include "xo/indentlog/print/ppdetail_atomic.hpp" #include #include #include @@ -266,5 +267,14 @@ namespace xo { return os; } + +#ifndef ppdetail_atomic + template \ + PPDETAIL_ATOMIC_BODY(printspan_impl); + + template \ + PPDETAIL_ATOMIC_BODY(xo::scm::span); +#endif + } } /*namespace xo*/ diff --git a/xo-tokenizer/include/xo/tokenizer/token.hpp b/xo-tokenizer/include/xo/tokenizer/token.hpp index f12d95da..906ad093 100644 --- a/xo-tokenizer/include/xo/tokenizer/token.hpp +++ b/xo-tokenizer/include/xo/tokenizer/token.hpp @@ -420,6 +420,13 @@ namespace xo { return os; } } /*Namespace scm*/ + +#ifndef ppdetail_atomic + namespace print { + PPDETAIL_ATOMIC(xo::scm::token); + } +#endif + } /*namespace xo*/ /* end token.hpp */ diff --git a/xo-tokenizer/include/xo/tokenizer/tokenizer.hpp b/xo-tokenizer/include/xo/tokenizer/tokenizer.hpp index 35fac5a5..75e4d4d1 100644 --- a/xo-tokenizer/include/xo/tokenizer/tokenizer.hpp +++ b/xo-tokenizer/include/xo/tokenizer/tokenizer.hpp @@ -10,6 +10,7 @@ #include "span.hpp" #include "scan_result.hpp" #include "xo/indentlog/scope.hpp" +#include "xo/indentlog/print/ppdetail_atomic.hpp" #include namespace xo { diff --git a/xo-tokenizer/include/xo/tokenizer/tokentype.hpp b/xo-tokenizer/include/xo/tokenizer/tokentype.hpp index 35ff841c..bb1e8000 100644 --- a/xo-tokenizer/include/xo/tokenizer/tokentype.hpp +++ b/xo-tokenizer/include/xo/tokenizer/tokentype.hpp @@ -6,6 +6,7 @@ #pragma once #include "xo/indentlog/print/tag.hpp" // for STRINGIFY +#include "xo/indentlog/print/ppdetail_atomic.hpp" #include namespace xo { @@ -159,8 +160,13 @@ namespace xo { os << tokentype_descr(tk_type); return os; } - } /*namespace scm*/ + +#ifndef ppdetail_atomic + namespace print { + PPDETAIL_ATOMIC(xo::scm::tokentype); + } /*namespace print*/ +#endif } /*namespace xo*/ /* end tokentype.hpp */