- Author
- Alexander Sherikov
- Copyright
- 2017-2020 Alexander Sherikov, Licensed under the Apache License, Version 2.0. (see LICENSE or http://www.apache.org/licenses/LICENSE-2.0)
Definition in file common.h.
|
template<class t_Subtree > |
using | ariles2::traits::is_subtree = std::disjunction< std::is_same< std::string, std::decay_t< t_Subtree > >, std::is_same< char *, std::decay_t< t_Subtree > >, std::is_same< const char *, std::decay_t< t_Subtree > >, std::is_same< std::string_view, std::decay_t< t_Subtree > >, std::is_same< std::vector< std::string >, std::decay_t< t_Subtree > >> |
|
template<class t_Subtree > |
using | ariles2::traits::is_subtree_t = std::enable_if_t< is_subtree< t_Subtree >::value > |
|
template<class t_Subtree > |
using | ariles2::traits::is_not_subtree_t = std::enable_if_t< not is_subtree< t_Subtree >::value > |
|
template<class t_Visitor > |
using | ariles2::traits::is_visitor_t = std::enable_if_t< std::is_base_of_v< ariles2::visitor::Visitor, t_Visitor > > |
|
template<class t_Visitor > |
using | ariles2::traits::is_not_visitor_t = std::enable_if_t< not std::is_base_of_v< ariles2::visitor::Visitor, t_Visitor > > |
|
template<class t_Ariles > |
using | ariles2::traits::is_ariles_t = std::enable_if_t< std::is_base_of_v< ariles2::Ariles, t_Ariles > > |
|
template<class t_Ariles > |
using | ariles2::traits::is_not_ariles_t = std::enable_if_t< not std::is_base_of_v< ariles2::Ariles, t_Ariles > > |
|
|
template<class t_Ariles , class t_Visitor , class t_Subtree , typename = traits::is_subtree_t<t_Subtree>, typename = traits::is_visitor_t<t_Visitor>> |
t_Visitor::ReturnType | ariles2::apply (t_Visitor &visitor, t_Ariles &ariles_class, t_Subtree &&subtree, const typename t_Visitor::Parameters ¶m) |
|
template<class t_Visitor , class t_Ariles , typename = traits::is_visitor_t<t_Visitor>> |
t_Visitor::ReturnType | ariles2::apply (t_Visitor &visitor, t_Ariles &ariles_class, const typename t_Visitor::Parameters ¶m) |
|
template<class t_Visitor , class t_Ariles , class t_Subtree , typename = traits::is_subtree_t<t_Subtree>, typename = traits::is_visitor_t<t_Visitor>> |
t_Visitor::ReturnType | ariles2::apply (t_Visitor &visitor, t_Ariles &ariles_class, t_Subtree &&subtree) |
|
template<class t_Visitor , class t_Ariles , typename = traits::is_visitor_t<t_Visitor>> |
t_Visitor::ReturnType | ariles2::apply (t_Visitor &visitor, t_Ariles &ariles_class) |
|
template<class t_Visitor , class t_Ariles , typename = traits::is_visitor_t<t_Visitor>, typename = traits::is_ariles_t<t_Ariles>> |
t_Visitor::ReturnType | ariles2::apply (t_Ariles &ariles_class) |
|
template<class t_Visitor , typename t_Arg , typename... t_Args, typename = traits::is_not_visitor_t<t_Arg>, typename = traits::is_not_ariles_t<t_Arg>> |
t_Visitor::ReturnType | ariles2::apply (t_Arg &&arg, t_Args &&...args) |
|
template<class t_Visitor , class t_Left , class t_Right , typename = traits::is_visitor_t<t_Visitor>, typename = traits::is_ariles_t<t_Left>, typename = traits::is_not_subtree_t<t_Right>> |
t_Visitor::ReturnType | ariles2::apply (t_Left &left, t_Right &right) |
|
template<class t_Visitor , class t_Left , class t_Right , typename = traits::is_not_subtree_t<t_Right>, typename = traits::is_visitor_t<t_Visitor>> |
t_Visitor::ReturnType | ariles2::apply (t_Visitor &visitor, t_Left &left, t_Right &right, const std::string &name, const typename t_Visitor::Parameters ¶m) |
|
template<class t_Visitor , class t_Left , class t_Right , typename = traits::is_visitor_t<t_Visitor>, typename = traits::is_not_subtree_t<t_Right>, typename = std::enable_if_t<not std::is_base_of_v<typename t_Visitor::Parameters, t_Right>>> |
t_Visitor::ReturnType | ariles2::apply (t_Visitor &visitor, t_Left &left, t_Right &right) |
|
template<class t_Visitor , class t_Left , class t_Right , typename = traits::is_not_subtree_t<t_Right>, typename = traits::is_visitor_t<t_Visitor>> |
t_Visitor::ReturnType | ariles2::apply (t_Visitor &visitor, t_Left &left, t_Right &right, const typename t_Visitor::Parameters ¶m) |
|