From 6ae005b11e2041beacf4fd3c3d690313863b7bf6 Mon Sep 17 00:00:00 2001 From: Ciaran McCreesh Date: Fri, 24 May 2013 00:21:38 +0100 Subject: Convert to fancy new visitors --- .../repositories/gemcutter/gemcutter_repository.cc | 54 ++++------------------ 1 file changed, 10 insertions(+), 44 deletions(-) diff --git a/paludis/repositories/gemcutter/gemcutter_repository.cc b/paludis/repositories/gemcutter/gemcutter_repository.cc index 4bdad242d..6540fdbd4 100644 --- a/paludis/repositories/gemcutter/gemcutter_repository.cc +++ b/paludis/repositories/gemcutter/gemcutter_repository.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010, 2011 Ciaran McCreesh + * Copyright (c) 2010, 2011, 2013 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -182,52 +182,18 @@ GemcutterRepository::package_ids(const QualifiedPackageName & p, const Repositor return _imp->store->package_ids(p); } -namespace -{ - struct SupportsActionQuery - { - bool visit(const SupportsActionTest &) const - { - return true; - } - - bool visit(const SupportsActionTest &) const - { - return true; - } - - bool visit(const SupportsActionTest &) const - { - return false; - } - - bool visit(const SupportsActionTest &) const - { - return false; - } - - bool visit(const SupportsActionTest &) const - { - return false; - } - - bool visit(const SupportsActionTest &) const - { - return false; - } - - bool visit(const SupportsActionTest &) const - { - return false; - } - }; -} - bool GemcutterRepository::some_ids_might_support_action(const SupportsActionTestBase & a) const { - SupportsActionQuery q; - return a.accept_returning(q); + return a.make_accept_returning( + [&] (const SupportsActionTest &) { return true; }, + [&] (const SupportsActionTest &) { return true; }, + [&] (const SupportsActionTest &) { return false; }, + [&] (const SupportsActionTest &) { return false; }, + [&] (const SupportsActionTest &) { return false; }, + [&] (const SupportsActionTest &) { return false; }, + [&] (const SupportsActionTest &) { return false; } + ); } bool -- cgit v1.2.3