summaryrefslogtreecommitdiff
path: root/src/generic/problemresolver/dummy_universe.h
AgeCommit message (Collapse)AuthorFilesLines
2010-01-23Rewire the rest of the dependency solver to account for the new tier type.Daniel Burrows1-67/+1
Mostly this just removes typedefs from the universe-specific tier types and adds #includes for tier.h. The tier limits object was rewritten somewhat more, to account for the new terminology ("levels") and to make the integers explciitly represent structural levels, not tiers.
2009-11-17Have the resolver ignore unresolved dependencies that were unresolved before ↵Daniel Burrows1-4/+25
the current run of aptitude started. (Closes: #556042) This is done by filtering them out of the initial set of dependencies that the root node is initialized with. NOTE: I still need to convince myself that we can't somehow end up reactivating a dependency that should have been skipped. However, we might really need to legitimately activate it...something to think over, anyway. (I particularly suspect that the weird behavior of Conflicts might be a problem)
2009-06-13Use the Boost hash table (unordered_set) to implement dep-solver memoization.Daniel Burrows1-0/+46
This almost eliminates the time we were spending comparing dep solvers (according to profiling, it's now down to 5% of the run time). There are several parts to this commit: (1) Making Boost a dependency of aptitude. This involved changing the configure script, writing a README about it, and writing a short shell script to verify that the configure script is up to date. (2) Redesigning the dep-solvers set so that all mutation goes through a member function. The set needs to cache its hash value for the sake of speed, and having mutation go through member functions lets us invalidate the cache. (3) Writing hash functions for the major resolver structures (that is: the concrete package, version, dep, and tier objects in both implementations, the choice object, and the solver_information and dep_solvers objects in the search graph). (4) Changing the std::set that we were using to collect identical dep_solvers objects to a boost::unordered_set.
2009-03-29Make tiers be tuples of integers (lexicographically ordered) instead of ↵Daniel Burrows1-0/+54
plain integers. This allows us to classify solutions in a more fine-grained way. In particular, it provides a not-horrible way to integrate apt pin priorities into the resolver's decisions, by making them a subordinate level of ranking to the main tiering system. The current plan is that the first level of tiering is the only one the user sees (by default) and the only one that can be directly configured. The subordinate levels are filled in automatically (pin priorities are all I have in mind now, but I don't discount the possibility of introducing more levels in the future).
2009-01-31Implement operator<< for dummy universe packages.Daniel Burrows1-1/+3
2008-04-16Modified most header files descriptions to be Doxygen-parsable.Obey Arthur Liu1-2/+9
2007-11-14First pass over the code.Daniel Burrows1-4/+4
This tree version is still BROKEN. This commit changes a bunch of code mechanically, and completely fixes all the subdirectories and files through download_screen in the top-level directory. Some unfortunate namespace choices in cwidget showed up here. widgets and config should probably be merged into the cwidget namespace, and I've created namespace aliases that pretend this happened as I go through the .cc files. Luckily, that change can largely be accounted for automatically.
2007-03-10[aptitude @ Add operator<< for dummy-universe versions.]Daniel Burrows1-1/+3
2005-11-05[aptitude @ Replace all uses of assert with eassert.]Daniel Burrows1-1/+2
2005-10-28[aptitude @ Add a documentation block to the dummy universe class.]Daniel Burrows1-1/+7
2005-10-01[aptitude @ Import the Subversion repository into darcs.]Daniel Burrows1-0/+769