Ariles
visit_generic_parent.h
Go to the documentation of this file.
1 /**
2  @file
3  @author Alexander Sherikov
4  @copyright 2020 Alexander Sherikov, Licensed under the Apache License, Version 2.0.
5  (see @ref LICENSE or http://www.apache.org/licenses/LICENSE-2.0)
6 */
7 
8 
9 #define ARILES2_NAMED_ENTRY_generic_parent(v, entry, name)
10 #define ARILES2_PARENT_generic_parent(v, entry) entry::arilesVisit(visitor, parameters);
11 
12 #define ARILES2_VISIT_generic_parent \
13  template <class t_Visitor, typename = ariles2::traits::is_visitor_t<t_Visitor>> \
14  void arilesVisitParents(t_Visitor &visitor, const typename t_Visitor::Parameters &parameters) \
15  { \
16  CPPUT_UNUSED_ARG(visitor); \
17  CPPUT_UNUSED_ARG(parameters); \
18  CPPUT_TRACE_FUNCTION; \
19  ARILES2_ENTRIES(generic_parent) \
20  } \
21  template <class t_Visitor, typename = ariles2::traits::is_visitor_t<t_Visitor>> \
22  void arilesVisitParents(t_Visitor &visitor, const typename t_Visitor::Parameters &parameters) const \
23  { \
24  CPPUT_UNUSED_ARG(visitor); \
25  CPPUT_UNUSED_ARG(parameters); \
26  CPPUT_TRACE_FUNCTION; \
27  ARILES2_ENTRIES(generic_parent) \
28  }