#ifndef INCLUDE_UTILS_MODIFIERS_HPP_ #define INCLUDE_UTILS_MODIFIERS_HPP_ #include #include namespace NCURSES_CPP_NAMESPACE { template class composable { public: using flags_type = multiflags; using flags_mask_type = multiflags; NCURSES_CPP_CONSTEXPR_14 composable & operator&(const ApplicantType applicant) { static_cast(this)->value_(); } NCURSES_CPP_CONSTEXPR_14 composable &operator&(const flags_type &flags) { value_ &= static_cast(flags); return *this; } private: value_type value_; }; } // namespace NCURSES_CPP_NAMESPACE #endif // INCLUDE_UTILS_MODIFIERS_HPP_