GENIE
single_value.h
Go to the documentation of this file.
1 #ifndef GENIE_EXECUTION_POLICY_SINGLE_VALUE_H_
2 #define GENIE_EXECUTION_POLICY_SINGLE_VALUE_H_
3 
7 
8 namespace genie {
9 namespace execution_policy {
10 
12  friend std::shared_ptr<genie::ExecutionPolicy> genie::MakePolicy(const genie::Config& config);
13  private:
14  SingleValueExecutionPolicy() = default;
15  public:
16  virtual std::shared_ptr<genie::table::inv_table> BuildTable(
17  const genie::TableData& table_data) override final;
18  virtual std::vector<genie::query::Query> BuildQuery(
19  const std::shared_ptr<const genie::table::inv_table>& table,
20  const genie::QueryData& query_data) override final;
21  virtual genie::SearchResult Match(
22  const std::shared_ptr<const genie::table::inv_table>& table,
23  const std::vector<genie::query::Query>& queries) override final;
24  virtual genie::SearchResult Match(
25  const std::vector<std::shared_ptr<const genie::table::inv_table> >& table,
26  const std::vector<std::vector<genie::query::Query> >& queries) override final;
27 };
28 
29 }
30 }
31 
32 #endif
This is the top-level namespace of the project.
std::vector< std::vector< int > > QueryData
Raw query data format used for building the queries.
Definition: types.h:16
std::vector< std::vector< int > > TableData
Raw table data format used for building the table.
Definition: types.h:12
std::pair< std::vector< int >, std::vector< int > > SearchResult
Matching result (top K&#39;s ID and count).
Definition: types.h:20
Config class holds all user configurable settings of GENIE.
Definition: config.h:20
std::shared_ptr< ExecutionPolicy > MakePolicy(const Config &config)
Builds and returns a policy according to the configurations.
virtual genie::SearchResult Match(const std::shared_ptr< const genie::table::inv_table > &table, const std::vector< genie::query::Query > &queries) override final
Match the given queries on the table.
virtual std::shared_ptr< genie::table::inv_table > BuildTable(const genie::TableData &table_data) override final
Builds the inverted index with the given data.
Definition: single_value.cc:10
virtual std::vector< genie::query::Query > BuildQuery(const std::shared_ptr< const genie::table::inv_table > &table, const genie::QueryData &query_data) override final
Builds the queries with the given query data.
Definition: single_value.cc:17
ExecutionPolicy class is the interface for building table, building query, and matching.