All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros Pages
Classes | Namespaces | Typedefs | Functions
get_bound.hpp File Reference
#include "paal/utils/accumulate_functors.hpp"
#include "paal/utils/knapsack_utils.hpp"
#include "paal/greedy/knapsack/knapsack_greedy.hpp"
#include <boost/function_output_iterator.hpp>

Go to the source code of this file.

Classes

struct  paal::detail::upper_tag
 
struct  paal::detail::lower_tag
 

Namespaces

 paal
 global namespace of project.
 
 paal::detail
 Detail namespace.
 

Typedefs

template<typename SizeType , typename ValueType >
using paal::detail::GetIntegralTag = typename std::conditional< std::is_integral< SizeType >::value &&std::is_integral< ValueType >::value, integral_value_and_size_tag, typename std::conditional< std::is_integral< SizeType >::value, integral_size_tag, typename std::conditional< std::is_integral< ValueType >::value, integral_value_tag, non_integral_value_and_size_tag >::type >::type >::type
 
template<typename SizeType >
using paal::detail::Getarithmetic_size_tag = typename std::conditional< std::is_arithmetic< SizeType >::value, arithmetic_size_tag, Nonarithmetic_size_tag >::type
 

Functions

template<typename KnapsackData >
KnapsackData::value paal::detail::get_density_based_value_upper_bound (KnapsackData knap_data)
 upper bound is computed as biggest density times capacity + values for all elements with size 0. It is correct upper bound for 0/1. For unbounded case there will be no elements with size 0.
 
template<typename KnapsackData , typename Is_0_1_Tag >
KnapsackData::value paal::detail::get_value_bound (KnapsackData knap_data, Nonarithmetic_size_tag, Is_0_1_Tag, upper_tag)
 
template<typename KnapsackData , typename Is_0_1_Tag >
KnapsackData::value paal::detail::get_value_bound (KnapsackData knap_data, arithmetic_size_tag, Is_0_1_Tag is_0_1_Tag, upper_tag)
 
template<typename KnapsackData , typename Is_0_1_Tag >
KnapsackData::value paal::detail::get_value_bound (KnapsackData knap_data, Nonarithmetic_size_tag, Is_0_1_Tag, lower_tag)
 
template<typename KnapsackData , typename Is_0_1_Tag >
KnapsackData::value paal::detail::get_value_bound (KnapsackData knap_data, arithmetic_size_tag, Is_0_1_Tag is_0_1_Tag, lower_tag)
 
template<typename KnapsackData , typename Is_0_1_Tag , typename BoundType >
KnapsackData::value paal::detail::get_value_bound (KnapsackData knap_data, Is_0_1_Tag is_0_1_tag, BoundType bound_type_tag)
 

Detailed Description

Author
Piotr Wygocki
Version
1.0
Date
2013-10-04

Definition in file get_bound.hpp.