1#ifndef CAPYDI_REQUIRED_FIELDS_USAGE_VALIDATOR_HPP_
2#define CAPYDI_REQUIRED_FIELDS_USAGE_VALIDATOR_HPP_
33 this->observers_.push_back(std::move(observer));
38 bool validation_result =
true;
42 validation_result = validation_result && observer.validate();
45 return validation_result;
49 std::vector<RequiredFieldUsageObserver> observers_;
52template<
typename Type>
60 : data_ { std::move(data) }
69 constexpr Type&
value() noexcept
75 constexpr const Type&
value() const noexcept
91 return this->validator_.validate();
97 return this->validator_;
Definition RequiredFieldsUsageValidator.hpp:11
constexpr bool validate() const
Definition RequiredFieldsUsageValidator.hpp:18
constexpr RequiredFieldUsageObserver(const bool &used)
Definition RequiredFieldsUsageValidator.hpp:13
constexpr Type & value() noexcept
Definition RequiredFieldsUsageValidator.hpp:69
constexpr RequiredField(Type &&data, RequiredFieldsUsageValidator &validator)
Definition RequiredFieldsUsageValidator.hpp:56
constexpr const Type & value() const noexcept
Definition RequiredFieldsUsageValidator.hpp:75
Definition RequiredFieldsUsageValidator.hpp:28
constexpr void register_required_field(RequiredFieldUsageObserver &&observer)
Definition RequiredFieldsUsageValidator.hpp:30
constexpr bool validate() const noexcept
Definition RequiredFieldsUsageValidator.hpp:36
Definition Decorator.hpp:19