-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathEmptySHNStrategy.h
47 lines (37 loc) · 904 Bytes
/
EmptySHNStrategy.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#ifndef _EMPTY_SHN_STRATEGY_
#define _EMPTY_SHN_STRATEGY_
#include "SHOIQStrategy.h"
#include "ExpressionNode.h"
class ABox;
class Branch;
class Individual;
class EmptySHNStrategy : public SHOIQStrategy
{
public:
EmptySHNStrategy(ABox* pABox);
enum
{
NONE = 0x00,
HIT = 0x01,
MISS = 0x02,
FAIL = 0x04,
ADD = 0x08,
ALL = 0x0F
};
void initialize();
ABox* complete();
void restore(Branch* pBranch);
bool backtrack();
Individual* getNextIndividual();
void expand(Individual* pX);
int cachedSat(Individual* pX);
ExprNode* createConcept(Individual* pX);
void addBranch(Branch* pNewBranch);
bool supportsPseudoModelCompletion() { return FALSE; }
virtual void printStrategyType() { printf("Empty SHN Strategy\n"); }
Individual* m_pRoot;
Nodes m_aMayNeedExpanding;
Nodes m_aMNX;
Node2ExprNodeMap m_mCachedNodes;
};
#endif