3 #include <boost/variant/static_visitor.hpp>
5 #include "mstch/mstch.hpp"
9 class has_token: public boost::static_visitor<bool> {
11 has_token(const std::string& token): m_token(token) {
15 bool operator()(const T&) const {
16 return m_token == ".";
19 bool operator()(const map& map) const {
20 return map.count(m_token) == 1;
23 bool operator()(const std::shared_ptr<object>& object) const {
24 return object->has(m_token);
28 const std::string& m_token;