Template Class ParserRefImpl

Inheritance Relationships

Base Type

Class Documentation

template<typename DerivedT>
class ParserRefImpl : public Catch::Clara::Detail::ComposableParserImpl<DerivedT>

Public Functions

template<typename LambdaT>
inline ParserRefImpl(accept_many_t, LambdaT const &ref, std::string const &hint)
template<typename T, typename = typename std::enable_if_t<!Detail::is_unary_function<T>::value>>
inline ParserRefImpl(T &ref, std::string const &hint)
template<typename LambdaT, typename = typename std::enable_if_t<Detail::is_unary_function<LambdaT>::value>>
inline ParserRefImpl(LambdaT const &ref, std::string const &hint)
inline auto operator()(std::string const &description) -> DerivedT&
inline auto optional() -> DerivedT&
inline auto required() -> DerivedT&
inline auto isOptional() const -> bool
inline virtual auto cardinality() const -> size_t override
inline std::string const &hint() const

Protected Functions

inline explicit ParserRefImpl(std::shared_ptr<BoundRef> const &ref)

Protected Attributes

Optionality m_optionality = Optionality::Optional
std::shared_ptr<BoundRef> m_ref
std::string m_hint
std::string m_description