BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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
17 # include <BALL/DATATYPE/hashMap.h>
18 #endif
19 
20 #include <queue>
21 
22 namespace BALL
23 {
32  {
33  public:
37  struct BALL_EXPORT Option
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 
63  virtual ~AStarBondOrderStrategy();
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
Assignment of bond orders from topology information.
virtual bool readOptions(const Options &options)
virtual void setDefaultOptions()
std::priority_queue< PartialBondOrderAssignment > queue_
AStarBondOrderStrategy(AssignBondOrderProcessor *parent)
PartialBondOrderAssignment::HEURISTIC_INDEX heuristic_index_
The chosen heuristic.
Base class for bond order assignment algorithms.
#define BALL_EXPORT
Definition: COMMON/global.h:50
virtual boost::shared_ptr< BondOrderAssignment > computeNextSolution()