#pragma once // // This file is distributed under the MIT License. See LICENSE.md for details. // #include "revng/TupleTree/TupleTree.h" // Note: the purpose of this file is to make sure we opt-in using // visitTupleTree in each translation unit to save on compilation time. namespace detail { template using ConstVisitor = typename TupleTreeVisitor::ConstVisitorBase; } template void TupleTree::visitImpl(detail::ConstVisitor &Pre, detail::ConstVisitor &Post) const { visitTupleTree(*Root, Pre, Post); } template void TupleTree::visitImpl(typename TupleTreeVisitor::VisitorBase &Pre, typename TupleTreeVisitor::VisitorBase &Post) { visitTupleTree(*Root, Pre, Post); }