Метод System::Is

System::Is(const E&, const A&) method

Функция сопоставления верхнего уровня. Применяет шаблон к значению.

template<typename A,typename E> std::enable_if_t<std::is_base_of<Details::Pattern, A>::value, bool> System::Is(const E &e, const A &a)
ПараметрОписание
AТип шаблона (должен наследоваться от Details::Pattern).
EТип значения для сопоставления.
ПараметрТипОписание
econst E\&Значение для сопоставления.
aconst A\&Шаблон для применения.

ReturnValue

true, если шаблон соответствует значению.

См. также

System::Is(const ExpressionT&, const ConstantT&) method

Реализует перевод константного шаблона ‘is’.

template<class ExpressionT,class ConstantT> std::enable_if_t<!std::is_base_of<Details::Pattern, ConstantT>::value, bool> System::Is(const ExpressionT &left, const ConstantT &constant)
ПараметрОписание
ExpressionTтип левого выражения.
ConstantTтип константного выражения.
ПараметрТипОписание
левоconst ExpressionT&выражение, которое будет проверяться.
константаconst ConstantT&выражение, которое будет сравниваться с левым.

ReturnValue

true, если проверка типа прошла успешно, иначе false.

См. также

System::Is(const ExpressionT&, ResultT&) method

Реализует перевод шаблона объявления ‘is’.

template<class PatternT,class ExpressionT,class ResultT> bool System::Is(const ExpressionT &left, ResultT &result)
ПараметрОписание
PatternTтип для проверки.
ExpressionTтип левого выражения.
ResultTтип выражения результата.
ПараметрТипОписание
левоconst ExpressionT&выражение, которое будет проверяться.
resultResultT&переменная, которой будет присвоен проверенный тип.

ReturnValue

true, если проверка типа прошла успешно, иначе false.

См. также