mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Public Types | Public Member Functions
m::detail::stl_visit_helper< Callable, ResultType, Visitor, Class, Classes > Struct Template Reference

This helper class creates a single override of operator() for one subtype in a class hierarchy, and then recursively inherits from an instantiation of that same helper class for the next subtype in the hierarchy. More...

#include <Visitor.hpp>

Public Types

using super = stl_visit_helper< Callable, ResultType, Visitor, Classes... >
 

Public Member Functions

 stl_visit_helper (Callable &callable, std::optional< some< ResultType > > &result)
 
void operator() (typename Visitor::template Const< Class > &obj) override
 

Detailed Description

template<typename Callable, typename ResultType, typename Visitor, typename Class, typename... Classes>
struct m::detail::stl_visit_helper< Callable, ResultType, Visitor, Class, Classes >

This helper class creates a single override of operator() for one subtype in a class hierarchy, and then recursively inherits from an instantiation of that same helper class for the next subtype in the hierarchy.

This enables overriding all visit methods of

Template Parameters
Visitor.

Definition at line 91 of file Visitor.hpp.

Member Typedef Documentation

◆ super

template<typename Callable , typename ResultType , typename Visitor , typename Class , typename... Classes>
using m::detail::stl_visit_helper< Callable, ResultType, Visitor, Class, Classes >::super = stl_visit_helper<Callable, ResultType, Visitor, Classes...>

Definition at line 93 of file Visitor.hpp.

Constructor & Destructor Documentation

◆ stl_visit_helper()

template<typename Callable , typename ResultType , typename Visitor , typename Class , typename... Classes>
m::detail::stl_visit_helper< Callable, ResultType, Visitor, Class, Classes >::stl_visit_helper ( Callable &  callable,
std::optional< some< ResultType > > &  result 
)
inline

Definition at line 95 of file Visitor.hpp.

Member Function Documentation

◆ operator()()

template<typename Callable , typename ResultType , typename Visitor , typename Class , typename... Classes>
void m::detail::stl_visit_helper< Callable, ResultType, Visitor, Class, Classes >::operator() ( typename Visitor::template Const< Class > &  obj)
inlineoverride

Definition at line 98 of file Visitor.hpp.


The documentation for this struct was generated from the following file: