mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Data Structures | Namespaces | Concepts | Macros
HeuristicSearch.hpp File Reference
#include <algorithm>
#include <cmath>
#include <functional>
#include <iosfwd>
#include <mutable/Options.hpp>
#include <mutable/util/ADT.hpp>
#include <mutable/util/exception.hpp>
#include <mutable/util/macro.hpp>
#include <mutable/util/OptField.hpp>
#include <type_traits>
#include <unordered_map>
#include <vector>
Include dependency graph for HeuristicSearch.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  m::ai::budget_exhausted_exception
 
struct  m::ai::StateManager< State, Expand, Heurisitc, HasRegularQueue, HasBeamQueue, Config, Context >
 Tracks states and their presence in queues. More...
 
struct  m::ai::StateManager< State, Expand, Heurisitc, HasRegularQueue, HasBeamQueue, Config, Context >::comparator
 

‍comparator for map entries based on states' g + h value

More...
 
struct  m::ai::StateManager< State, Expand, Heurisitc, HasRegularQueue, HasBeamQueue, Config, Context >::Partitions< true >
 
struct  m::ai::StateManager< State, Expand, Heurisitc, HasRegularQueue, HasBeamQueue, Config, Context >::Partitions< false >
 
struct  m::ai::SearchConfiguration< StaticConfig >
 Relies on the rules of aggregate initialization More...
 
struct  m::ai::genericAStar< State, Expand, Heuristic, StaticConfig, Context >
 Implements a generic A* search algorithm. More...
 

Namespaces

namespace  m
 

‍mutable namespace


 
namespace  m::ai
 

Concepts

concept  m::ai::heuristic_search_state
 
concept  m::ai::supports_partitioning
 
concept  m::ai::heuristic_search_heuristic
 
concept  m::ai::is_admissible
 
concept  m::ai::heuristic_search
 
concept  m::ai::SearchConfigConcept
 
concept  m::ai::has_mark
 

Macros

#define DEF_COUNTER(NAME)
 
#define X(NAME)   num_##NAME() << " " #NAME
 
#define DEF_COUNTER(NAME)
 

Macro Definition Documentation

◆ DEF_COUNTER [1/2]

#define DEF_COUNTER (   NAME)
Value:
private: \
std::size_t num_##NAME##_ = 0; \
void inc_##NAME() { ++num_##NAME##_; } \
public: \
std::size_t num_##NAME() const { return num_##NAME##_; }

Definition at line 661 of file HeuristicSearch.hpp.

◆ DEF_COUNTER [2/2]

#define DEF_COUNTER (   NAME)
Value:
private: \
std::size_t num_##NAME##_ = 0; \
void inc_##NAME() { ++num_##NAME##_; } \
public: \
std::size_t num_##NAME() const { return num_##NAME##_; }

Definition at line 661 of file HeuristicSearch.hpp.

◆ X

#define X (   NAME)    num_##NAME() << " " #NAME