1 |
|
#ifndef __EXCLUDE_H__ |
2 |
|
#define __EXCLUDE_H__ |
3 |
|
|
4 |
+ |
#include <set> |
5 |
+ |
#include <utility> |
6 |
+ |
|
7 |
+ |
using namespace std; |
8 |
+ |
|
9 |
|
class Exclude{ |
10 |
|
|
11 |
< |
public: |
7 |
< |
Exclude(int theIndex); |
8 |
< |
~Exclude(){} |
11 |
> |
public: |
12 |
|
|
13 |
< |
static int* exPairs; // The Excludes array |
14 |
< |
static int nExcludes; |
13 |
> |
~Exclude(); |
14 |
> |
|
15 |
> |
void addPair(int i, int j); |
16 |
> |
int hasPair(int i, int j); |
17 |
> |
void printMe( void ); |
18 |
> |
int getSize( void ); |
19 |
> |
int* getFortranArray( void ); |
20 |
> |
static Exclude* Instance(); |
21 |
> |
|
22 |
> |
protected: |
23 |
|
|
24 |
< |
static void createArray( int nExludes ); |
25 |
< |
static void destroyArray( void ); |
26 |
< |
static int* getArray( void ){ return exPairs; } |
27 |
< |
void addExcludePairs(int nAdded, int* AexPair); |
17 |
< |
void deleteExcludePair(int theIndex); |
18 |
< |
void deleteRange(int startIndex, int stopIndex); |
24 |
> |
set<pair<int, int> > excludeSet; |
25 |
> |
int* exPairs; |
26 |
> |
bool newFortranArrayNeeded; |
27 |
> |
Exclude(); |
28 |
|
|
29 |
< |
void setPair( int i, int j); |
29 |
> |
private: |
30 |
> |
static Exclude* _instance; |
31 |
|
|
32 |
< |
protected: |
23 |
< |
|
24 |
< |
int exI; |
25 |
< |
int exJ; |
26 |
< |
}; |
27 |
< |
|
32 |
> |
}; |
33 |
|
|
29 |
– |
|
30 |
– |
|
34 |
|
#endif // __EXCLUDE_H__ |