#include "trie.hpp"
#include <iostream> template <typename Object> struct Visitor { void operator()(const Object &object) const { std::cout << "visit object:" << object << std::endl; } }; template <typename Object> void visit(const Object &object) { std::cout << "visit function:" << object << std::endl; } int main() { Trie<double> trie_; trie_.insert("Lehn", 42); trie_.insert("Fo", 123); trie_.insert("Lehr", 666); trie_.insert("Lehr", 667); trie_.insert("Lehr", 668); Trie<double> trie; trie = trie_; std::cout << "visiting:" << std::endl; trie.visit("Le", Visitor<double>()); std::cout << "visiting:" << std::endl; trie.visit("", Visitor<double>()); trie.visit("", visit<double>); } |