Ubpa Design Pattern
Visitor<Ret([const]void*, Args...)
Visitor<Ret(void*, Args...)
: ncVisitor.hVisitor<Ret(const void*, Args...)
: cVisitor.h
Visitor<Ret(Impl::*)([const]void*, Args...)[const]
Visitor<Ret(Impl::*)(void*, Args...)
: ncincVisitor.hVisitor<Ret(Impl::*)(const void*, Args...)
: ncicVisitor.hVisitor<Ret(Impl::*)(void*, Args...)const
: cincVisitor.hVisitor<Ret(Impl::*)(const void*, Args...)const
: cicVisitor.h