gStore/Signature/SigEntry.h

39 lines
875 B
C++

/*
* SigEntry.h
*
* Created on: 2014-6-20
* Author: liyouhuan
* Modified on: 2014-6-29
* Author: hanshuo
*/
#ifndef SIGENTRY_H_
#define SIGENTRY_H_
#include "../Util/Util.h"
#include "Signature.h"
using namespace std;
class SigEntry{
private:
EntitySig sig;
int entity_id;
public:
SigEntry();
SigEntry(int _entity_id, EntityBitSet& _bitset);
SigEntry(const SigEntry& _sig_entry);
SigEntry(const EntitySig& sig, int _entity_id);
const EntitySig& getEntitySig()const;
int getEntityId()const;
int getSigCount()const;
SigEntry& operator=(const SigEntry _sig_entry);
SigEntry& operator|=(const SigEntry _sig_entry);
bool cover(const SigEntry& _sig_entry)const;
bool cover(const EntitySig& _sig)const;
int xEpsilen(const SigEntry& _sig_entry)const;
std::string to_str()const;
};
#endif /* SIGENTRY_H_ */