#pragma once #include #include "mstch/mstch.hpp" namespace mstch { class is_node_empty: public boost::static_visitor { public: template bool operator()(const T&) const { return false; } bool operator()(const std::nullptr_t&) const { return true; } bool operator()(const int& value) const { return value == 0; } bool operator()(const double& value) const { return value == 0; } bool operator()(const bool& value) const { return !value; } bool operator()(const std::string& value) const { return value == ""; } bool operator()(const array& array) const { return array.size() == 0; } }; }