| 7093 | |
| 7094 | template<typename L> |
| 7095 | struct BoundFlagLambda : BoundFlagRefBase { |
| 7096 | L m_lambda; |
| 7097 | |
| 7098 | static_assert( UnaryLambdaTraits<L>::isValid, "Supplied lambda must take exactly one argument" ); |
| 7099 | static_assert( std::is_same<typename UnaryLambdaTraits<L>::ArgType, bool>::value, "flags must be boolean" ); |
| 7100 | |
| 7101 | explicit BoundFlagLambda( L const &lambda ) : m_lambda( lambda ) {} |
| 7102 | |
| 7103 | auto setFlag( bool flag ) -> ParserResult override { |
| 7104 | return LambdaInvoker<typename UnaryLambdaTraits<L>::ReturnType>::invoke( m_lambda, flag ); |
| 7105 | } |
| 7106 | }; |
| 7107 | |
| 7108 | enum class Optionality { Optional, Required }; |
| 7109 |
nothing calls this directly
no outgoing calls
no test coverage detected