BALL 1.5.0
AStarBondOrderStrategy.h
Go to the documentation of this file.
1#ifndef BALL_STRUCTURE_BONDORDERS_ASTARBONDORDERSTRATEGY_H
2#define BALL_STRUCTURE_BONDORDERS_ASTARBONDORDERSTRATEGY_H
3
4#ifndef BALL_STRUCTURE_BONDORDERS_BONDORDERASSIGNMENTSTRATEGY_H
6#endif
7
8#ifndef BALL_STRUCTURE_BONDORDERS_PARTIALBONDORDERASSIGNMENT_H
10#endif
11
12#ifndef BALL_STRUCTURE_BONDORDERS_BONDORDERASSIGNMENT_H
14#endif
15
16#ifndef BALL_DATATYPE_HASHMAP_H
18#endif
19
20#include <queue>
21
22namespace BALL
23{
32 {
33 public:
39 {
45 static const char* HEURISTIC;
46 };
47
49 {
50 static const String HEURISTIC;
51 };
52
54 {
55 static const String SIMPLE;
56 static const String MEDIUM;
57 static const String TIGHT;
58 };
60
62
64
65 virtual void clear();
66 virtual void init();
67
68 virtual bool readOptions(const Options& options);
69 virtual void setDefaultOptions();
70
71 virtual boost::shared_ptr<BondOrderAssignment> computeNextSolution();
72
73 protected:
74
75
76
79
80 std::priority_queue<PartialBondOrderAssignment> queue_;
81
83 // The current number of node expansions.
84 // step_ + queue_.size() gives the number of touched nodes.
85 int step_;
86 };
87
88}
89#endif // BALL_STRUCTURE_BONDORDERS_ASTARBONDORDERSTRATEGY_H
Definition: constants.h:13
Assignment of bond orders from topology information.
AStarBondOrderStrategy(AssignBondOrderProcessor *parent)
virtual bool readOptions(const Options &options)
virtual boost::shared_ptr< BondOrderAssignment > computeNextSolution()
std::priority_queue< PartialBondOrderAssignment > queue_
PartialBondOrderAssignment::HEURISTIC_INDEX heuristic_index_
The chosen heuristic.
virtual void setDefaultOptions()
Base class for bond order assignment algorithms.
#define BALL_EXPORT
Definition: COMMON/global.h:50