Visitor< Types > Struct Template Reference

CPP API: mio::Visitor< Types > Struct Template Reference
mio::Visitor< Types > Struct Template Reference

A generic visitor inspired by Fedor Pikus. More...

Detailed Description

template<typename... Types>
struct mio::Visitor< Types >

A generic visitor inspired by Fedor Pikus.

Fedor Pikus: "C++ Design Patterns: from C++03 to C++17", CppCon 2019

Derived class must implement the visit function for all Types that are connected with the visitor.

Example usage:

using PetVisitor = Visitor<class Dog, class Cat>;

struct PetMakeNoiseVisitor : public PetVisitor { void visit(Cat& c) { std::cout << "Miau" << std::endl; }

void visit(Dog& d) { std::cout << "Wooof" << std::endl; }

};