#include "paal/utils/type_functions.hpp"
#include "paal/utils/less_pointees.hpp"
#include "paal/utils/functors.hpp"
#include <boost/iterator/filter_iterator.hpp>
#include <boost/optional.hpp>
#include <boost/range/adaptor/filtered.hpp>
#include <boost/range/algorithm/max_element.hpp>
#include <boost/range/algorithm/min_element.hpp>
#include <boost/range/numeric.hpp>
Go to the source code of this file.
Classes | |
struct | paal::density< Value, Size > |
density functor, for given value and size More... | |
struct | paal::detail::knapsack_base< Objects, ObjectSizeFunctor, ObjectValueFunctor > |
struct | paal::detail::integral_value_and_size_tag |
struct | paal::detail::integral_value_tag |
struct | paal::detail::integral_size_tag |
struct | paal::detail::non_integral_value_and_size_tag |
struct | paal::detail::arithmetic_size_tag |
struct | paal::detail::Nonarithmetic_size_tag |
struct | paal::detail::zero_one_tag |
struct | paal::detail::unbounded_tag |
struct | paal::detail::retrieve_solution_tag |
struct | paal::detail::no_retrieve_solution_tag |
class | paal::detail::knapsack_data< GetSize, GetValue, Objects, OutputIterator > |
Namespaces | |
paal | |
global namespace of project. | |
paal::detail | |
Detail namespace. | |
Typedefs | |
template<typename Functor , typename Range > | |
using | paal::detail::FunctorOnRangePValue = puretype(std::declval< Functor >()(*std::begin(std::declval< Range >()))) |
Functions | |
template<typename Value , typename Size > | |
density< Value, Size > | paal::make_density (Value value, Size size) |
make for density More... | |
template<typename GetSize , typename GetValue , typename Objects , typename OutputIterator , typename Size = FunctorOnRangePValue<GetSize, Objects>> | |
knapsack_data< GetSize, GetValue, Objects, OutputIterator > | paal::detail::make_knapsack_data (Objects &&objects, Size capacity, GetSize get_size, GetValue get_value, OutputIterator &out) |