-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcleaner.h
62 lines (44 loc) · 1.75 KB
/
cleaner.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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#ifndef CLEANER_H
#define CLEANER_H
#include "nnitem.h"
#include "invtitem.h"
#include "indexmeta.h"
#include <map>
#include <list>
#include <vector>
/**
In charge of memory recycling, acts as
a rubbish collector
@author: Wanlei Zhao
@email: [email protected]
@date: 30-Jul-2012
@Institute: INRIA
**/
using namespace std;
class Cleaner
{
private:
static void eraseInvtList(InvtPQCBlock *header);
static void eraseInvtList(InvtPQOBlock *header);
static void eraseInvtList(InvtPQSBlock *header);
public:
static void clearRankList(list<IndexMeta*> *rankList);
static void clearRankList(vector<IndexMeta*> *rankList);
static void clearRetriList(list<RetriItem*> &nnItems);
static void clearRetriList(vector<RetriItem*> &nnItems);
static void clearNNList(list<NNItem*> &nnItems);
static void clearNNList(list<MiniNN*> &nnItems);
static void clearMatrix(vector<vector<unsigned int> > &matrix);
static void clearInvtList(InvtBlock *header);
static void clear_k2iMap(map<string, unsigned int> &refTab);
static void clear_k2iMap(map<string, unsigned char> &refTab);
static void clear_i2kMap(map<unsigned int, const char*> &i2kMap);
static void releaseInvtList(Hdr_InvtPQCBlock *invertLst, const unsigned int vqNum);
static void releaseInvtList(Hdr_InvtPQOBlock *invertLst, const unsigned int vqNum);
static void releaseInvtList(Hdr_InvtPQSBlock *invertLst, const unsigned int vqNum);
static void releaseInvtList(map<unsigned int, vector<unsigned int>* > &invtLst);
static void freeItemMaps(map<unsigned int, map<string, const char*> *> &itmMaps);
static void freeParaMap(map<string, const char*> ¶s);
static void freeStrVect(vector<const char*> &strVect);
};
#endif