#include <graph_vat.h>
Public Types | |
typedef evat< ALLOC > | EVAT |
typedef vat< GRAPH_PROP, V_Fk1_MINE_PROP, ALLOC, ST > | VAT |
typedef ST< EVAT, ALLOC< EVAT > > | RMP_VATS |
typedef ST< pair< int, RMP_VATS >, ALLOC< pair< int, RMP_VATS > > > | GVAT |
typedef HASHNS::hash_set< int, HASHNS::hash< int >, std::equal_to< int >, ALLOC< int > > | VSET |
typedef vector< vector< VSET, ALLOC< VSET > >, ALLOC< vector< VSET, ALLOC< VSET > > > > | VSETS |
typedef GVAT::const_iterator | CONST_IT |
typedef GVAT::iterator | IT |
typedef ST< EVAT, ALLOC< EVAT > >::const_iterator | CONST_EIT |
typedef VSETS::iterator | VS_IT |
typedef VSETS::const_iterator | CONST_VS_IT |
Public Member Functions | |
void * | operator new (size_t size) |
void | operator delete (void *p, size_t size) |
IT | begin () |
CONST_IT | begin () const |
IT | end () |
CONST_IT | end () const |
VS_IT | begin_v () |
CONST_VS_IT | begin_v () const |
VS_IT | end_v () |
CONST_VS_IT | end_v () const |
int | size () const |
bool | empty () const |
const pair< int, ST< EVAT, ALLOC< EVAT > > > & | back () const |
void | insert_occurrence_tid (const int &tid, const pair< int, int > &new_occurrence) |
void | insert_occurrence_evat (const pair< int, int > &new_occurrence) |
void | insert_occurrence (const pair< int, int > &new_occurrence) |
void | insert_vid_hs (const int &vid) |
void | insert_vid (const int &vid) |
void | insert_vid_tid (const int &vid) |
void | copy_vats (const pair< int, ST< evat< ALLOC >, ALLOC< evat< ALLOC > > > > &v1, const int &offset, const int &sz, bool swap=0) |
void | copy_vats_tid (const pair< int, ST< evat< ALLOC >, ALLOC< evat< ALLOC > > > > &v1, const int &offset, const int &sz, bool swap=0) |
void | copy_vids_hs (const VSET &v1_vids) |
void | copy_vids_tid (const VSET &v1_vids) |
unsigned long int | byte_size () const |
void | print () |
void | write_file (ostream &output) const |
void | read_file (istream &input, unsigned long int size) |
bool | is_new_vertex (const int &vid, const int &tid, const int &offset) const |
Static Public Member Functions | |
template<typename PATTERN, typename PAT_SUP> | |
static VAT ** | intersection (const VAT *v1, const VAT *v2, PAT_SUP **cand_sups, PATTERN **cand_pats, bool) |
Friends | |
class | evat< ALLOC > |
ostream & | operator<< (ostream &, const VAT *) |
In this partial specialization, PP is fixed to undirected (undirected graph property), MP is fixed to Fk X F1 and vert_mine (vertical mining with FK X F1), ST is the VAT storage type. For graph, ST should model a vector, else this shall not compile.
typedef ST<pair<int, RMP_VATS>, ALLOC<pair<int, RMP_VATS> > > vat< GRAPH_PROP, V_Fk1_MINE_PROP, ALLOC, ST >::GVAT |
a graph-vat is a collection of evats for each vertex, where each evat must have same size. This collection of evats is organized itself as ST<EVAT> evats, and it holds evats of all edges on right most path of cand_pat
typedef HASHNS::hash_set<int, HASHNS::hash<int>, std::equal_to<int>, ALLOC<int> > vat< GRAPH_PROP, V_Fk1_MINE_PROP, ALLOC, ST >::VSET |
Set of vertex ids denoting exactly one of this graph's occurence in the dataset
typedef vector<vector<VSET, ALLOC<VSET> >, ALLOC<vector<VSET, ALLOC<VSET> > > > vat< GRAPH_PROP, V_Fk1_MINE_PROP, ALLOC, ST >::VSETS |
This graph can occur several times in one graph in the dataset, and in several graphs (tids) as well
static VAT** vat< GRAPH_PROP, V_Fk1_MINE_PROP, ALLOC, ST >::intersection | ( | const VAT * | v1, | |
const VAT * | v2, | |||
PAT_SUP ** | cand_sups, | |||
PATTERN ** | cand_pats, | |||
bool | ||||
) | [inline, static] |
Main vat intersection function; It also populates support argument passed
now determine the index of edge_vid on rmp of candidate. This is used by back_intersect.
we now have both evats, intersect them ///
bool vat< GRAPH_PROP, V_Fk1_MINE_PROP, ALLOC, ST >::is_new_vertex | ( | const int & | vid, | |
const int & | tid, | |||
const int & | offset | |||
) | const [inline] |
Returns true if vid occurs in any of the offset-th vids in tid-th vat