GENIE
genie::ExecutionPolicy Class Referenceabstract

ExecutionPolicy class is the interface for building table, building query, and matching. More...

#include <execution_policy.h>

Inheritance diagram for genie::ExecutionPolicy:
genie::execution_policy::SingleRangeExecutionPolicy genie::execution_policy::SingleValueExecutionPolicy

Public Member Functions

virtual std::shared_ptr< genie::table::inv_tableBuildTable (const genie::TableData &table_data)=0
 Builds the inverted index with the given data. More...
 
virtual std::vector< genie::query::QueryBuildQuery (const std::shared_ptr< const genie::table::inv_table > &table, const genie::QueryData &query_data)=0
 Builds the queries with the given query data. More...
 
virtual genie::SearchResult Match (const std::shared_ptr< const genie::table::inv_table > &table, const std::vector< genie::query::Query > &queries)=0
 Match the given queries on the table. More...
 
virtual genie::SearchResult Match (const std::vector< std::shared_ptr< const genie::table::inv_table > > &tables, const std::vector< std::vector< genie::query::Query > > &queries)=0
 Batched matching with multiple tables and queries for those tables. More...
 
virtual void Validate ()
 Checks whether the given search parameters are in valid range. More...
 
void SetK (const uint32_t k)
 Sets K. More...
 
void SetNumOfQueries (const uint32_t num_of_queries)
 Sets the number of query. More...
 
uint32_t GetNumOfQueries () const
 Returns the number of query. More...
 

Protected Attributes

uint32_t k_
 
uint32_t dim_
 
uint32_t num_of_queries_
 

Detailed Description

ExecutionPolicy class is the interface for building table, building query, and matching.

This is the base class for all the concrete execution policies. Different types of search are implemented by different subclasses of the ExecutionPolicy class.

Definition at line 21 of file execution_policy.h.

Member Function Documentation

◆ BuildQuery()

virtual std::vector<genie::query::Query> genie::ExecutionPolicy::BuildQuery ( const std::shared_ptr< const genie::table::inv_table > &  table,
const genie::QueryData query_data 
)
pure virtual

Builds the queries with the given query data.

Implemented in genie::execution_policy::SingleRangeExecutionPolicy, and genie::execution_policy::SingleValueExecutionPolicy.

◆ BuildTable()

virtual std::shared_ptr<genie::table::inv_table> genie::ExecutionPolicy::BuildTable ( const genie::TableData table_data)
pure virtual

Builds the inverted index with the given data.

Implemented in genie::execution_policy::SingleRangeExecutionPolicy, and genie::execution_policy::SingleValueExecutionPolicy.

◆ GetNumOfQueries()

uint32_t genie::ExecutionPolicy::GetNumOfQueries ( ) const

Returns the number of query.

Definition at line 57 of file execution_policy.cc.

◆ Match() [1/2]

virtual genie::SearchResult genie::ExecutionPolicy::Match ( const std::shared_ptr< const genie::table::inv_table > &  table,
const std::vector< genie::query::Query > &  queries 
)
pure virtual

◆ Match() [2/2]

virtual genie::SearchResult genie::ExecutionPolicy::Match ( const std::vector< std::shared_ptr< const genie::table::inv_table > > &  tables,
const std::vector< std::vector< genie::query::Query > > &  queries 
)
pure virtual

Batched matching with multiple tables and queries for those tables.

Implemented in genie::execution_policy::SingleRangeExecutionPolicy, and genie::execution_policy::SingleValueExecutionPolicy.

◆ SetK()

void genie::ExecutionPolicy::SetK ( const uint32_t  k)

Sets K.

Definition at line 47 of file execution_policy.cc.

◆ SetNumOfQueries()

void genie::ExecutionPolicy::SetNumOfQueries ( const uint32_t  num_of_queries)

Sets the number of query.

Definition at line 52 of file execution_policy.cc.

◆ Validate()

void genie::ExecutionPolicy::Validate ( )
virtual

Checks whether the given search parameters are in valid range.

Reimplemented in genie::execution_policy::SingleRangeExecutionPolicy.

Definition at line 62 of file execution_policy.cc.

Member Data Documentation

◆ dim_

uint32_t genie::ExecutionPolicy::dim_
protected

Definition at line 24 of file execution_policy.h.

◆ k_

uint32_t genie::ExecutionPolicy::k_
protected

Definition at line 23 of file execution_policy.h.

◆ num_of_queries_

uint32_t genie::ExecutionPolicy::num_of_queries_
protected

Definition at line 25 of file execution_policy.h.


The documentation for this class was generated from the following files: