From 450c0331aca4600729216b9bff5d3e1b4e203871 Mon Sep 17 00:00:00 2001 From: Ciaran McCreesh Date: Fri, 24 May 2013 00:40:58 +0100 Subject: Convert to fancy new visitors --- .../repositories/unwritten/unwritten_repository.cc | 54 ++++------------------ 1 file changed, 10 insertions(+), 44 deletions(-) (limited to 'paludis/repositories/unwritten/unwritten_repository.cc') diff --git a/paludis/repositories/unwritten/unwritten_repository.cc b/paludis/repositories/unwritten/unwritten_repository.cc index 63a219926..43717db64 100644 --- a/paludis/repositories/unwritten/unwritten_repository.cc +++ b/paludis/repositories/unwritten/unwritten_repository.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh + * Copyright (c) 2008, 2009, 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 @@ -197,52 +197,18 @@ UnwrittenRepository::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 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 visit(const SupportsActionTest &) const - { - return false; - } - }; -} - bool UnwrittenRepository::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 false; }, + [&] (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