/* vim: set sw=4 sts=4 et foldmethod=syntax : *//* * Copyright (c) 2009 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 * Public License version 2, as published by the Free Software Foundation. * * Paludis is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 59 Temple * Place, Suite 330, Boston, MA 02111-1307 USA */#ifndef PALUDIS_GUARD_PALUDIS_RESOLVER_RESOLVER_FUNCTIONS_HH#define PALUDIS_GUARD_PALUDIS_RESOLVER_RESOLVER_FUNCTIONS_HH 1#include<paludis/resolver/resolver_functions-fwd.hh>#include<paludis/resolver/use_existing-fwd.hh>#include<paludis/resolver/resolution-fwd.hh>#include<paludis/resolver/resolvent-fwd.hh>#include<paludis/resolver/reason-fwd.hh>#include<paludis/util/named_value.hh>#include<paludis/filter-fwd.hh>#include<tr1/functional>namespacepaludis{namespacen{structcare_about_dep_fn;structfind_repository_for_fn;structget_initial_constraints_for_fn;structget_resolvents_for_fn;structget_use_existing_fn;structmake_destination_filter_fn;structtake_dependency_fn;}namespaceresolver{typedefstd::tr1::function<bool(constResolvent&,conststd::tr1::shared_ptr<constResolution>&,constSanitisedDependency&)>CareAboutDepFunction;typedefstd::tr1::function<conststd::tr1::shared_ptr<constRepository>(constResolvent&,conststd::tr1::shared_ptr<constResolution>&)>FindRepositoryForFunction;typedefstd::tr1::function<std::tr1::shared_ptr<Constraints>(constResolvent&)>GetInitialConstraintsFunction;typedefstd::tr1::function<std::tr1::shared_ptr<Resolvents>(constPackageDepSpec&,conststd::tr1::shared_ptr<constReason>&)>GetResolventsForFunction;typedefstd::tr1::function<UseExisting(constResolvent&,constPackageDepSpec&,conststd::tr1::shared_ptr<constReason>&)>GetUseExistingFunction;typedefstd::tr1::function<Filter(constResolvent&)>MakeDestinationFilterFunction;typedefstd::tr1::function<bool(constResolvent&,constSanitisedDependency&,conststd::tr1::shared_ptr<constReason>&)>TakeDependencyFunction;structResolverFunctions{NamedValue<n::care_about_dep_fn,CareAboutDepFunction>care_about_dep_fn;NamedValue<n::find_repository_for_fn,FindRepositoryForFunction>find_repository_for_fn;NamedValue<n::get_initial_constraints_for_fn,GetInitialConstraintsFunction>get_initial_constraints_for_fn;NamedValue<n::get_resolvents_for_fn,GetResolventsForFunction>get_resolvents_for_fn;NamedValue<n::get_use_existing_fn,GetUseExistingFunction>get_use_existing_fn;NamedValue<n::make_destination_filter_fn,MakeDestinationFilterFunction>make_destination_filter_fn;NamedValue<n::take_dependency_fn,TakeDependencyFunction>take_dependency_fn;};}}#endif