vat< GRAPH_PROP, V_Fk1_MINE_PROP, ALLOC, ST > Class Template Reference

Graph VAT class by partial specialization of the generic VAT class. More...

#include <graph_vat.h>

List of all members.

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 *)


Detailed Description

template<typename PP, typename MP, template< typename > class ALLOC, template< typename, typename > class ST>
class vat< GRAPH_PROP, V_Fk1_MINE_PROP, ALLOC, ST >

Graph VAT class by partial specialization of the generic VAT class.

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.


Member Typedef Documentation

template<typename PP, typename MP, template< typename > class ALLOC, template< typename, typename > class ST>
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

template<typename PP, typename MP, template< typename > class ALLOC, template< typename, typename > class ST>
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

template<typename PP, typename MP, template< typename > class ALLOC, template< typename, typename > class ST>
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


Member Function Documentation

template<typename PP, typename MP, template< typename > class ALLOC, template< typename, typename > class ST>
template<typename PATTERN, typename PAT_SUP>
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 ///

template<typename PP, typename MP, template< typename > class ALLOC, template< typename, typename > class ST>
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


The documentation for this class was generated from the following file:
Generated on Wed Jul 26 14:01:09 2006 for DMTL by  doxygen 1.4.7