aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-06-13 15:48:41 +0100
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-06-14 13:22:05 +0100
commit4385b8c9283bb33f412281dd40da09569476cfc4 (patch)
treedd47fc31f15bbab16101595fb33558c38b4fefe6
parent46a057a29d293998af6079a9ddbeefa050bf4449 (diff)
downloadpaludis-4385b8c9283bb33f412281dd40da09569476cfc4.tar.gz
paludis-4385b8c9283bb33f412281dd40da09569476cfc4.tar.xz
Start the Lineariser, but keep Orderer around too
-rw-r--r--paludis/resolver/Makefile.am10
-rw-r--r--paludis/resolver/decider.cc11
-rw-r--r--paludis/resolver/decider.hh2
-rw-r--r--paludis/resolver/decisions-fwd.hh31
-rw-r--r--paludis/resolver/decisions.cc51
-rw-r--r--paludis/resolver/decisions.hh46
-rw-r--r--paludis/resolver/lineariser-fwd.hh31
-rw-r--r--paludis/resolver/lineariser.cc53
-rw-r--r--paludis/resolver/lineariser.hh43
-rw-r--r--paludis/resolver/resolved-fwd.hh33
-rw-r--r--paludis/resolver/resolved.cc24
-rw-r--r--paludis/resolver/resolved.hh54
-rw-r--r--paludis/resolver/resolver.cc19
-rw-r--r--paludis/resolver/resolver.hh3
14 files changed, 398 insertions, 13 deletions
diff --git a/paludis/resolver/Makefile.am b/paludis/resolver/Makefile.am
index d488be0..41989ea 100644
--- a/paludis/resolver/Makefile.am
+++ b/paludis/resolver/Makefile.am
@@ -53,7 +53,10 @@ noinst_HEADERS = \
spec_rewriter.hh spec_rewriter-fwd.hh \
suggest_restart.hh suggest_restart-fwd.hh \
unsuitable_candidates.hh unsuitable_candidates-fwd.hh \
- use_existing.hh use_existing-fwd.hh use_existing-se.hh
+ use_existing.hh use_existing-fwd.hh use_existing-se.hh \
+ resolved.hh resolved-fwd.hh \
+ decisions.hh decisions-fwd.hh \
+ lineariser.hh lineariser-fwd.hh
libpaludisresolver_a_SOURCES = \
any_child_score.cc \
@@ -84,7 +87,10 @@ libpaludisresolver_a_SOURCES = \
spec_rewriter.cc \
suggest_restart.cc \
unsuitable_candidates.cc \
- use_existing.cc
+ use_existing.cc \
+ resolved.cc \
+ decisions.cc \
+ lineariser.cc
if ENABLE_VIRTUALS_REPOSITORY
virtuals_tests = resolver_TEST_virtuals
diff --git a/paludis/resolver/decider.cc b/paludis/resolver/decider.cc
index ce14810..b608654 100644
--- a/paludis/resolver/decider.cc
+++ b/paludis/resolver/decider.cc
@@ -77,22 +77,21 @@ namespace paludis
SpecRewriter rewriter;
ResolutionsByResolventMap resolutions_by_resolvent;
-
- const std::tr1::shared_ptr<ResolverLists> lists;
+ const std::tr1::shared_ptr<Resolutions> all_resolutions;
Implementation(const Environment * const e, const ResolverFunctions & f,
- const std::tr1::shared_ptr<ResolverLists> & l) :
+ const std::tr1::shared_ptr<Resolutions> & l) :
env(e),
fns(f),
rewriter(env),
- lists(l)
+ all_resolutions(l)
{
}
};
}
Decider::Decider(const Environment * const e, const ResolverFunctions & f,
- const std::tr1::shared_ptr<ResolverLists> & l) :
+ const std::tr1::shared_ptr<Resolutions> & l) :
PrivateImplementationPattern<Decider>(new Implementation<Decider>(e, f, l))
{
}
@@ -574,7 +573,7 @@ Decider::_resolution_for_resolvent(const Resolvent & r, const bool create)
{
std::tr1::shared_ptr<Resolution> resolution(_create_resolution_for_resolvent(r));
i = _imp->resolutions_by_resolvent.insert(std::make_pair(r, resolution)).first;
- _imp->lists->all_resolutions()->append(resolution);
+ _imp->all_resolutions->append(resolution);
}
else
throw InternalError(PALUDIS_HERE, "resolver bug: expected resolution for "
diff --git a/paludis/resolver/decider.hh b/paludis/resolver/decider.hh
index 379d166..ebc8727 100644
--- a/paludis/resolver/decider.hh
+++ b/paludis/resolver/decider.hh
@@ -220,7 +220,7 @@ namespace paludis
public:
Decider(const Environment * const,
const ResolverFunctions &,
- const std::tr1::shared_ptr<ResolverLists> &);
+ const std::tr1::shared_ptr<Resolutions> &);
~Decider();
void resolve();
diff --git a/paludis/resolver/decisions-fwd.hh b/paludis/resolver/decisions-fwd.hh
new file mode 100644
index 0000000..6f0ab1f
--- /dev/null
+++ b/paludis/resolver/decisions-fwd.hh
@@ -0,0 +1,31 @@
+/* vim: set sw=4 sts=4 et foldmethod=syntax : */
+
+/*
+ * Copyright (c) 2010 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_DECISIONS_FWD_HH
+#define PALUDIS_GUARD_PALUDIS_RESOLVER_DECISIONS_FWD_HH 1
+
+namespace paludis
+{
+ namespace resolver
+ {
+ template <typename D_> struct Decisions;
+ }
+}
+
+#endif
diff --git a/paludis/resolver/decisions.cc b/paludis/resolver/decisions.cc
new file mode 100644
index 0000000..624ad12
--- /dev/null
+++ b/paludis/resolver/decisions.cc
@@ -0,0 +1,51 @@
+/* vim: set sw=4 sts=4 et foldmethod=syntax : */
+
+/*
+ * Copyright (c) 2010 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
+ */
+
+#include <paludis/resolver/decisions.hh>
+#include <paludis/util/private_implementation_pattern-impl.hh>
+
+using namespace paludis;
+using namespace paludis::resolver;
+
+namespace paludis
+{
+#ifdef PALUDIS_NO_DOUBLE_TEMPLATE
+ template <>
+#endif
+ template <typename D_>
+ struct Implementation<Decisions<D_> >
+ {
+ };
+}
+
+template <typename D_>
+Decisions<D_>::Decisions() :
+ PrivateImplementationPattern<Decisions<D_> >(new Implementation<Decisions<D_> >)
+{
+}
+
+template <typename D_>
+Decisions<D_>::~Decisions()
+{
+}
+
+template class Decisions<UnableToMakeDecision>;
+template class Decisions<ChangesToMakeDecision>;
+template class Decisions<ChangeOrRemoveDecision>;
+
diff --git a/paludis/resolver/decisions.hh b/paludis/resolver/decisions.hh
new file mode 100644
index 0000000..cb63713
--- /dev/null
+++ b/paludis/resolver/decisions.hh
@@ -0,0 +1,46 @@
+/* vim: set sw=4 sts=4 et foldmethod=syntax : */
+
+/*
+ * Copyright (c) 2010 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_DECISIONS_HH
+#define PALUDIS_GUARD_PALUDIS_RESOLVER_DECISIONS_HH 1
+
+#include <paludis/resolver/decisions-fwd.hh>
+#include <paludis/resolver/decision-fwd.hh>
+#include <paludis/util/private_implementation_pattern.hh>
+
+namespace paludis
+{
+ namespace resolver
+ {
+ template <typename D_>
+ class PALUDIS_VISIBLE Decisions :
+ private PrivateImplementationPattern<Decisions<D_> >
+ {
+ public:
+ Decisions();
+ ~Decisions();
+ };
+
+ extern template class Decisions<UnableToMakeDecision>;
+ extern template class Decisions<ChangesToMakeDecision>;
+ extern template class Decisions<ChangeOrRemoveDecision>;
+ }
+}
+
+#endif
diff --git a/paludis/resolver/lineariser-fwd.hh b/paludis/resolver/lineariser-fwd.hh
new file mode 100644
index 0000000..0513860
--- /dev/null
+++ b/paludis/resolver/lineariser-fwd.hh
@@ -0,0 +1,31 @@
+/* vim: set sw=4 sts=4 et foldmethod=syntax : */
+
+/*
+ * Copyright (c) 2010 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_LINEARISER_FWD_HH
+#define PALUDIS_GUARD_PALUDIS_RESOLVER_LINEARISER_FWD_HH 1
+
+namespace paludis
+{
+ namespace resolver
+ {
+ struct Lineariser;
+ }
+}
+
+#endif
diff --git a/paludis/resolver/lineariser.cc b/paludis/resolver/lineariser.cc
new file mode 100644
index 0000000..ee49a60
--- /dev/null
+++ b/paludis/resolver/lineariser.cc
@@ -0,0 +1,53 @@
+/* vim: set sw=4 sts=4 et foldmethod=syntax : */
+
+/*
+ * Copyright (c) 2010 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
+ */
+
+#include <paludis/resolver/lineariser.hh>
+#include <paludis/util/private_implementation_pattern-impl.hh>
+
+using namespace paludis;
+using namespace paludis::resolver;
+
+namespace paludis
+{
+ template <>
+ struct Implementation<Lineariser>
+ {
+ const std::tr1::shared_ptr<Resolved> resolved;
+
+ Implementation(const std::tr1::shared_ptr<Resolved> & r) :
+ resolved(r)
+ {
+ }
+ };
+}
+
+Lineariser::Lineariser(const std::tr1::shared_ptr<Resolved> & r) :
+ PrivateImplementationPattern<Lineariser>(new Implementation<Lineariser>(r))
+{
+}
+
+Lineariser::~Lineariser()
+{
+}
+
+void
+Lineariser::resolve()
+{
+}
+
diff --git a/paludis/resolver/lineariser.hh b/paludis/resolver/lineariser.hh
new file mode 100644
index 0000000..5c28f05
--- /dev/null
+++ b/paludis/resolver/lineariser.hh
@@ -0,0 +1,43 @@
+/* vim: set sw=4 sts=4 et foldmethod=syntax : */
+
+/*
+ * Copyright (c) 2010 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_LINEARISER_HH
+#define PALUDIS_GUARD_PALUDIS_RESOLVER_LINEARISER_HH 1
+
+#include <paludis/resolver/lineariser-fwd.hh>
+#include <paludis/resolver/resolved-fwd.hh>
+#include <paludis/util/private_implementation_pattern.hh>
+
+namespace paludis
+{
+ namespace resolver
+ {
+ class PALUDIS_VISIBLE Lineariser :
+ private PrivateImplementationPattern<Lineariser>
+ {
+ public:
+ Lineariser(const std::tr1::shared_ptr<Resolved> &);
+ ~Lineariser();
+
+ void resolve();
+ };
+ }
+}
+
+#endif
diff --git a/paludis/resolver/resolved-fwd.hh b/paludis/resolver/resolved-fwd.hh
new file mode 100644
index 0000000..3543633
--- /dev/null
+++ b/paludis/resolver/resolved-fwd.hh
@@ -0,0 +1,33 @@
+/* vim: set sw=4 sts=4 et foldmethod=syntax : */
+
+/*
+ * Copyright (c) 2010 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_RESOLVED_FWD_HH
+#define PALUDIS_GUARD_PALUDIS_RESOLVER_RESOLVED_FWD_HH 1
+
+#include <paludis/resolver/resolved.hh>
+
+namespace paludis
+{
+ namespace resolver
+ {
+ struct Resolved;
+ }
+}
+
+#endif
diff --git a/paludis/resolver/resolved.cc b/paludis/resolver/resolved.cc
new file mode 100644
index 0000000..4a6f3c4
--- /dev/null
+++ b/paludis/resolver/resolved.cc
@@ -0,0 +1,24 @@
+/* vim: set sw=4 sts=4 et foldmethod=syntax : */
+
+/*
+ * Copyright (c) 2010 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
+ */
+
+#include <paludis/resolver/resolved.hh>
+
+using namespace paludis;
+using namespace paludis::resolver;
+
diff --git a/paludis/resolver/resolved.hh b/paludis/resolver/resolved.hh
new file mode 100644
index 0000000..b4764d5
--- /dev/null
+++ b/paludis/resolver/resolved.hh
@@ -0,0 +1,54 @@
+/* vim: set sw=4 sts=4 et foldmethod=syntax : */
+
+/*
+ * Copyright (c) 2010 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_RESOLVED_HH
+#define PALUDIS_GUARD_PALUDIS_RESOLVER_RESOLVED_HH 1
+
+#include <paludis/resolver/resolved-fwd.hh>
+#include <paludis/resolver/decisions-fwd.hh>
+#include <paludis/resolver/resolutions-fwd.hh>
+#include <paludis/resolver/decision-fwd.hh>
+#include <paludis/util/named_value.hh>
+#include <tr1/memory>
+
+namespace paludis
+{
+ namespace n
+ {
+ typedef Name<struct display_change_or_remove_decisions_name> display_change_or_remove_decisions;
+ typedef Name<struct resolutions_name> resolutions;
+ typedef Name<struct taken_unable_to_make_decisions_name> taken_unable_to_make_decisions;
+ typedef Name<struct untaken_change_or_remove_decisions_name> untaken_change_or_remove_decisions;
+ typedef Name<struct untaken_unable_to_make_decisions_name> untaken_unable_to_make_decisions;
+ }
+
+ namespace resolver
+ {
+ struct Resolved
+ {
+ NamedValue<n::display_change_or_remove_decisions, std::tr1::shared_ptr<Decisions<ChangeOrRemoveDecision> > > display_change_or_remove_decisions;
+ NamedValue<n::resolutions, std::tr1::shared_ptr<Resolutions> > resolutions;
+ NamedValue<n::taken_unable_to_make_decisions, std::tr1::shared_ptr<Decisions<UnableToMakeDecision> > > taken_unable_to_make_decisions;
+ NamedValue<n::untaken_change_or_remove_decisions, std::tr1::shared_ptr<Decisions<ChangeOrRemoveDecision> > > untaken_change_or_remove_decisions;
+ NamedValue<n::untaken_unable_to_make_decisions, std::tr1::shared_ptr<Decisions<UnableToMakeDecision> > > untaken_unable_to_make_decisions;
+ };
+ }
+}
+
+#endif
diff --git a/paludis/resolver/resolver.cc b/paludis/resolver/resolver.cc
index 65cbad9..35c734c 100644
--- a/paludis/resolver/resolver.cc
+++ b/paludis/resolver/resolver.cc
@@ -22,12 +22,14 @@
#include <paludis/resolver/resolver_lists.hh>
#include <paludis/resolver/spec_rewriter.hh>
#include <paludis/resolver/decider.hh>
-#include <paludis/resolver/orderer.hh>
#include <paludis/resolver/sanitised_dependencies.hh>
#include <paludis/resolver/reason.hh>
#include <paludis/resolver/resolutions.hh>
#include <paludis/resolver/jobs.hh>
#include <paludis/resolver/job_id.hh>
+#include <paludis/resolver/orderer.hh>
+#include <paludis/resolver/lineariser.hh>
+#include <paludis/resolver/decisions.hh>
#include <paludis/util/stringify.hh>
#include <paludis/util/make_shared_ptr.hh>
#include <paludis/util/sequence.hh>
@@ -55,9 +57,11 @@ namespace paludis
const ResolverFunctions fns;
const std::tr1::shared_ptr<ResolverLists> lists;
+ const std::tr1::shared_ptr<Resolved> resolved;
const std::tr1::shared_ptr<Decider> decider;
const std::tr1::shared_ptr<Orderer> orderer;
+ const std::tr1::shared_ptr<Lineariser> lineariser;
Implementation(const Environment * const e, const ResolverFunctions & f) :
env(e),
@@ -71,8 +75,16 @@ namespace paludis
n::untaken_error_job_ids() = make_shared_ptr(new JobIDSequence),
n::untaken_job_ids() = make_shared_ptr(new JobIDSequence)
))),
- decider(new Decider(e, f, lists)),
- orderer(new Orderer(e, f, decider, lists))
+ resolved(new Resolved(make_named_values<Resolved>(
+ n::display_change_or_remove_decisions() = make_shared_ptr(new Decisions<ChangeOrRemoveDecision>),
+ n::resolutions() = lists->all_resolutions(),
+ n::taken_unable_to_make_decisions() = make_shared_ptr(new Decisions<UnableToMakeDecision>),
+ n::untaken_change_or_remove_decisions() = make_shared_ptr(new Decisions<ChangeOrRemoveDecision>),
+ n::untaken_unable_to_make_decisions() = make_shared_ptr(new Decisions<UnableToMakeDecision>)
+ ))),
+ decider(new Decider(e, f, resolved->resolutions())),
+ orderer(new Orderer(e, f, decider, lists)),
+ lineariser(new Lineariser(resolved))
{
}
};
@@ -161,6 +173,7 @@ Resolver::resolve()
{
_imp->decider->resolve();
_imp->orderer->resolve();
+ _imp->lineariser->resolve();
}
const std::tr1::shared_ptr<const ResolverLists>
diff --git a/paludis/resolver/resolver.hh b/paludis/resolver/resolver.hh
index 53368ef..d1942e0 100644
--- a/paludis/resolver/resolver.hh
+++ b/paludis/resolver/resolver.hh
@@ -24,9 +24,9 @@
#include <paludis/resolver/reason-fwd.hh>
#include <paludis/resolver/resolver_functions-fwd.hh>
#include <paludis/resolver/decider-fwd.hh>
-#include <paludis/resolver/orderer-fwd.hh>
#include <paludis/resolver/resolutions-fwd.hh>
#include <paludis/resolver/resolver_lists-fwd.hh>
+#include <paludis/resolver/resolved-fwd.hh>
#include <paludis/resolver/sanitised_dependencies-fwd.hh>
#include <paludis/resolver/package_or_block_dep_spec-fwd.hh>
#include <paludis/util/private_implementation_pattern.hh>
@@ -59,6 +59,7 @@ namespace paludis
void resolve();
const std::tr1::shared_ptr<const ResolverLists> lists() const PALUDIS_ATTRIBUTE((warn_unused_result));
+ const std::tr1::shared_ptr<const Resolved> resolved() const PALUDIS_ATTRIBUTE((warn_unused_result));
};
}
}