pattern< PATTERN_PROPS, MINING_PROPS, ST, CC, ALLOC > Class Template Reference

The Pattern Class. More...

#include <pattern.h>

List of all members.

Public Types

typedef ST::VERTEX_T VERTEX_T
typedef PATTERN_PROPS PAT_PROPS
typedef MINING_PROPS MINE_PROPS
typedef ST::EDGE_T EDGE_T
typedef pattern< PATTERN_PROPS,
MINING_PROPS, ST, CC, ALLOC > 
PATTERN
typedef ST::IT IT
typedef ST::CONST_IT CONST_IT
typedef ST::EIT EIT
typedef ST::CONST_EIT CONST_EIT
typedef ST::EIT_PAIR EIT_PAIR
typedef ST::CONST_EIT_PAIR CONST_EIT_PAIR
typedef CC< PATTERN_PROPS,
VERTEX_T, EDGE_T, ALLOC > 
CAN_CODE
typedef std::vector< int,
ALLOC< int > > 
RMP_T
typedef CAN_CODE::STORAGE_TYPE CC_STORAGE_TYPE
typedef CAN_CODE::INIT_TYPE CC_INIT_TYPE
typedef CAN_CODE::COMPARISON_FUNC CC_COMPARISON_FUNC

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
int size () const
int rmp_size () const
pattern< PATTERN_PROPS, MINING_PROPS,
ST, CC, ALLOC > * 
clone () const
int rmost_vid () const
void set_rmost_vid (const int &rvid)
bool is_canonical () const
const VERTEX_T & rmost_vertex () const
const VERTEX_T & label (const int &vid) const
int add_vertex (const VERTEX_T &v)
void add_out_edge (const int &src, const int &dest, const EDGE_T &e)
void add_in_edge (const int &dest, const int &src, const EDGE_T &e)
EIT_PAIR out_edges (const int &idval)
CONST_EIT_PAIR out_edges (const int &idval) const
EIT_PAIR in_edges (const int &idval)
CONST_EIT_PAIR in_edges (const int &idval) const
bool get_out_edge (const int &src, const int &dest, EDGE_T &e) const
bool get_in_edge (const int &src, const int &dest, const EDGE_T &e) const
CC_STORAGE_TYPE pat_id () const
bool operator< (const pattern< PATTERN_PROPS, MINING_PROPS, ST, CC, ALLOC > rhs) const
void set_support (const pattern_support< MINING_PROPS > *const &pat_sup)
void set_sup (const pair< int, int > &s)
 Set the support for the pattern. Note: Should be only used for level-1 patterns.
bool is_freq (int min_sup)
bool is_valid (const int &ms) const
void init_canonical_code (const CC_INIT_TYPE &cc)
const RMP_T & rmost_path () const
void update_rmpath (int val)
const CAN_CODE & canonical_code () const

Public Attributes

pattern_support< MINING_PROPS > _pat_sup

Friends

ostream & operator<< (ostream &, const pattern< PATTERN_PROPS, MINING_PROPS, ST, CC, ALLOC > *)
bool check_isomorphism (PATTERN *const &pat)
void update_rmost_path (pattern< PATTERN_PROPS, MINING_PROPS, ST, CC, ALLOC > *const &)


Detailed Description

template<class PATTERN_PROPS, class MINING_PROPS, class ST, template< class, typename, typename, template< typename > class > class CC, template< typename > class ALLOC = std::allocator>
class pattern< PATTERN_PROPS, MINING_PROPS, ST, CC, ALLOC >

The Pattern Class.

Pattern Class takes 4 template arguments. PATTERN_PROPS is the pattern property, MINING_PROPS is the mining property, ST is the pattern storage data structure, CC is the canonical code class.


Member Function Documentation

template<class PATTERN_PROPS, class MINING_PROPS, class ST, template< class, typename, typename, template< typename > class > class CC, template< typename > class ALLOC = std::allocator>
void pattern< PATTERN_PROPS, MINING_PROPS, ST, CC, ALLOC >::add_in_edge ( const int &  dest,
const int &  src,
const EDGE_T &  e 
) [inline]

Adds edge to in-edge list of dest Both vertices are required to be already part of the graph This function should be invoked for digraphs ONLY

template<class PATTERN_PROPS, class MINING_PROPS, class ST, template< class, typename, typename, template< typename > class > class CC, template< typename > class ALLOC = std::allocator>
void pattern< PATTERN_PROPS, MINING_PROPS, ST, CC, ALLOC >::add_out_edge ( const int &  src,
const int &  dest,
const EDGE_T &  e 
) [inline]

Adds an edge to out-edge list of src Both vertices are required to be already part of the graph

template<class PATTERN_PROPS, class MINING_PROPS, class ST, template< class, typename, typename, template< typename > class > class CC, template< typename > class ALLOC = std::allocator>
int pattern< PATTERN_PROPS, MINING_PROPS, ST, CC, ALLOC >::add_vertex ( const VERTEX_T &  v  )  [inline]

Adds vertex and makes it the right most vertex

template<class PATTERN_PROPS, class MINING_PROPS, class ST, template< class, typename, typename, template< typename > class > class CC, template< typename > class ALLOC = std::allocator>
pattern<PATTERN_PROPS, MINING_PROPS, ST, CC, ALLOC>* pattern< PATTERN_PROPS, MINING_PROPS, ST, CC, ALLOC >::clone (  )  const [inline]

Creates a deep copy of this object into rhs

template<class PATTERN_PROPS, class MINING_PROPS, class ST, template< class, typename, typename, template< typename > class > class CC, template< typename > class ALLOC = std::allocator>
EIT_PAIR pattern< PATTERN_PROPS, MINING_PROPS, ST, CC, ALLOC >::in_edges ( const int &  idval  )  [inline]

Returns a pair of iterators, the first of the pair points to the first entity in the set of in-edges of idval, the second to the end of edges

template<class PATTERN_PROPS, class MINING_PROPS, class ST, template< class, typename, typename, template< typename > class > class CC, template< typename > class ALLOC = std::allocator>
void pattern< PATTERN_PROPS, MINING_PROPS, ST, CC, ALLOC >::init_canonical_code ( const CC_INIT_TYPE &  cc  )  [inline]

Initializes the canonical code for the pattern.

template<class PATTERN_PROPS, class MINING_PROPS, class ST, template< class, typename, typename, template< typename > class > class CC, template< typename > class ALLOC = std::allocator>
const VERTEX_T& pattern< PATTERN_PROPS, MINING_PROPS, ST, CC, ALLOC >::label ( const int &  vid  )  const [inline]

Returns vertex object associated with given vid

template<class PATTERN_PROPS, class MINING_PROPS, class ST, template< class, typename, typename, template< typename > class > class CC, template< typename > class ALLOC = std::allocator>
EIT_PAIR pattern< PATTERN_PROPS, MINING_PROPS, ST, CC, ALLOC >::out_edges ( const int &  idval  )  [inline]

Returns a pair of iterators, the first of the pair points to the first entity in the set of out-edges of idval, the second to the end of edges

template<class PATTERN_PROPS, class MINING_PROPS, class ST, template< class, typename, typename, template< typename > class > class CC, template< typename > class ALLOC = std::allocator>
void pattern< PATTERN_PROPS, MINING_PROPS, ST, CC, ALLOC >::set_sup ( const pair< int, int > &  s  )  [inline]

Set the support for the pattern. Note: Should be only used for level-1 patterns.

void set_sup


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