famouso::mw::attributes::detail::RequirementChecker< Prov, Req, compileError, FilteredReq, ReqIter > Struct Template Reference
Checks the given attribute requirement against the given provision. The check result can be accessed using the result type. More...
#include <RequirementChecker.h>
Data Structures | |
struct | comparatorExtractor |
The comparator used for checking the values of the attributes. | |
struct | comparatorExtractor< famouso::mw::attributes::Null, dummy > |
struct | provision_assertion |
struct | provision_assertion< Pr, typename boost::mpl::end< Pr >::type > |
Public Types | |
typedef RequirementChecker | type |
This type. | |
typedef boost::mpl::integral_c_tag | tag |
typedef bool | value_type |
typedef boost::mpl::eval_if_c < (!notContained::value &&valueFits), nextResult, boost::mpl::bool_< false > >::type | result |
Public Member Functions | |
operator bool () const | |
Static Public Attributes | |
static const bool | value = result::value |
The final result for the check of the whole requirement against the given provision. |
Detailed Description
template<typename Prov, typename Req, bool compileError = true, typename FilteredReq = typename boost::mpl::filter_view< typename Req::sequence, RequirablePred >::type, typename ReqIter = typename boost::mpl::begin<FilteredReq>::type>
struct famouso::mw::attributes::detail::RequirementChecker< Prov, Req, compileError, FilteredReq, ReqIter >
Checks the given attribute requirement against the given provision. The check result can be accessed using the result type.
It can be configured if this struct should generate a compile error finding the first violated condition. In this case result will always be boost::mpl::bool_<true> of course. However the compile error generation can be turned off just generating warnings in case of a condition violation.
- Template Parameters:
-
Prov The attribute set representing the provision Req The attribute set representing the requirement compileError Switch to turn compile errors on and off ReqIter The iterator to the current requirement attribute, should be left at default from the outside
Member Typedef Documentation
typedef boost::mpl::eval_if_c< (!notContained::value && valueFits), nextResult, boost::mpl::bool_<false> >::type famouso::mw::attributes::detail::RequirementChecker< Prov, Req, compileError, FilteredReq, ReqIter >::result |
typedef boost::mpl::integral_c_tag famouso::mw::attributes::detail::RequirementChecker< Prov, Req, compileError, FilteredReq, ReqIter >::tag |
typedef RequirementChecker famouso::mw::attributes::detail::RequirementChecker< Prov, Req, compileError, FilteredReq, ReqIter >::type |
This type.
!
typedef bool famouso::mw::attributes::detail::RequirementChecker< Prov, Req, compileError, FilteredReq, ReqIter >::value_type |
Member Function Documentation
famouso::mw::attributes::detail::RequirementChecker< Prov, Req, compileError, FilteredReq, ReqIter >::operator bool | ( | ) | const [inline] |
Field Documentation
const bool famouso::mw::attributes::detail::RequirementChecker< Prov, Req, compileError, FilteredReq, ReqIter >::value = result::value [static] |
The final result for the check of the whole requirement against the given provision.
It is true if and only if every attribute of the requirement can be found in the provision and each of these pairs have fitting values.
Referenced by famouso::mw::attributes::detail::RequirementChecker< Prov, Req, compileError, FilteredReq, ReqIter >::operator bool().
The documentation for this struct was generated from the following file:
- include/mw/attributes/detail/RequirementChecker.h