![]() |
mutable
A Database System for Research and Fast Prototyping
|
Visitor base class, using CRTP. More...
#include <Visitor.hpp>
Public Types | |
| using | base_type = Base |
| The base class of the class hierarchy to visit. | |
| using | visitor_type = ConcreteVisitor |
| The concrete type of the visitor. | |
| template<typename T > | |
| using | Const = std::conditional_t< is_const, const T, T > |
A helper type to apply the proper const-qualification to parameters. | |
| using | actual_type = ConcreteVisitor |
Public Member Functions | |
| virtual | ~Visitor () |
Make Visitor inheritable from. | |
| virtual void | operator() (base_type &obj) |
Visit the object obj. | |
| actual_type & | actual () |
| const actual_type & | actual () const |
Static Public Attributes | |
| static constexpr bool | is_const = std::is_const_v<Base> |
Whether the visited objects are const-qualified. | |
Private Attributes | |
| friend | CRTPBaseType< actual_type, TParams... > |
Visitor base class, using CRTP.
| ConcreteVisitor | is the actual type of the visitor, |
| Base | is the base type of the class hierarchy to visit. |
Definition at line 29 of file Visitor.hpp.
| using m::detail::Visitor< ConcreteVisitor, Base >::base_type = Base |
The base class of the class hierarchy to visit.
Definition at line 37 of file Visitor.hpp.
| using m::detail::Visitor< ConcreteVisitor, Base >::Const = std::conditional_t<is_const, const T, T> |
A helper type to apply the proper const-qualification to parameters.
Definition at line 44 of file Visitor.hpp.
| using m::detail::Visitor< ConcreteVisitor, Base >::visitor_type = ConcreteVisitor |
|
inlinevirtual |
Make Visitor inheritable from.
Definition at line 47 of file Visitor.hpp.
|
inlineinherited |
|
inlineinherited |
|
inlinevirtual |
Visit the object obj.
Definition at line 50 of file Visitor.hpp.
References m::crtp< ConcreteVisitor, Visitor, Base >::actual().
|
privateinherited |
|
staticconstexpr |
Whether the visited objects are const-qualified.
Definition at line 34 of file Visitor.hpp.