![]() |
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.