#pragma once #include #include #include namespace fluid { namespace client { namespace impl { /// Named, shared clients already have a lookup table in their adaptor class template struct IsNamedShared { using type = std::false_type; }; //TODO: make less tied to current implementation template struct IsNamedShared>> { using type = std::true_type; }; template using IsNamedShared_t = typename IsNamedShared::type; template constexpr bool IsNamedShared_v = IsNamedShared_t::value; /// Models don't, but still need to survive CMD-. template struct IsModel { using type = std::false_type; }; template struct IsModel>> { using type = typename ClientWrapper::isModelObject; }; template struct IsModel> { using type = typename ClientWrapper::isModelObject; }; template using IsModel_t = typename IsModel::type; template constexpr bool IsModel_v = IsModel_t::value; } } }