#ifndef RTG_GUARD_RTGLIB_REQUIRES_HPP #define RTG_GUARD_RTGLIB_REQUIRES_HPP #include namespace rtg { template struct and_ : std::is_same, and_<(Bs || true)...>> // NOLINT { }; template using bool_c = std::integral_constant; #ifdef CPPCHECK #define RTG_REQUIRES(...) class = void #else #define RTG_REQUIRES(...) \ bool PrivateRequires##__LINE__ = true, \ class = typename std::enable_if{}>::type #endif } // namespace rtg #endif