All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros Pages
search_components.hpp
Go to the documentation of this file.
1 //=======================================================================
2 // Copyright (c) 2013 Piotr Wygocki
3 //
4 // Distributed under the Boost Software License, Version 1.0. (See
5 // accompanying file LICENSE_1_0.txt or copy at
6 // http://www.boost.org/LICENSE_1_0.txt)
7 //=======================================================================
15 #ifndef PAAL_SEARCH_COMPONENTS_HPP
16 #define PAAL_SEARCH_COMPONENTS_HPP
17 
19 #include "paal/utils/functors.hpp"
20 
21 namespace paal {
22 namespace local_search {
23 
27 struct GetMoves;
31 struct Gain;
35 struct Commit;
36 
42 
48 template <typename... Args>
49 using search_components = typename components::type<Args...>;
50 
56 template <typename... Args>
58 
66 template <typename... Args>
67 auto make_search_components(Args &&... args) {
68  return components::make_components(std::forward<Args>(args)...);
69 }
70 
71 }
72 }
73 #endif // PAAL_SEARCH_COMPONENTS_HPP
auto make_search_components(Args &&...args)
make function for search components
data_structures::components< GetMoves, Gain, Commit > components
Definition for the components class for local search usually this class is not directly used...
static type< special_decay_t< components >...> make_components(components &&...comps)
make function for components
Definition: components.hpp:497
typename components::type< Args...> search_components
search_components template alias
This file contains set of simple useful functors or functor adapters.
search_components< Args...> Multisearch_components
Multisearch_components template alias.
bool local_search(Solution &solution, SearchStrategy searchStrategy, ContinueOnSuccess succ, ContinueOnFail fail, components...comps)
detail