21template <
typename TVal
idator,
typename TBase>
22class CustomValidator :
public TBase
24 using BaseImpl = TBase;
25 using Validator = TValidator;
29 using ValueType =
typename BaseImpl::ValueType;
31 CustomValidator() =
default;
33 explicit CustomValidator(
const ValueType& val)
38 explicit CustomValidator(ValueType&& val)
39 : BaseImpl(
std::move(val))
43 CustomValidator(
const CustomValidator&) =
default;
44 CustomValidator(CustomValidator&&) =
default;
45 CustomValidator& operator=(
const CustomValidator&) =
default;
46 CustomValidator& operator=(CustomValidator&&) =
default;
50 return BaseImpl::valid() && (Validator()(*this));
Main namespace for all classes / functions of COMMS library.