при этом из любого namespace?
                  
                  
                  Чтобы можно было вызывать foo(ns1::X{});
                  
                  
                  foo(ns2::X<int>{});, но не foo(Y{});.
                  
                  
                
ну одними шаблонами точно нерешаемая задача
CRTP? но это через структуры, кншн
Нельзя так, боюсь
либо отнаследуй все эти типы от базового тэга, и проверяй это, либо сделай во всех какой-нибудь typedef/constexpr переменную
Обсуждают сегодня