1 #ifndef GENIE_EXECUTION_POLICY_SINGLE_VALUE_H_ 2 #define GENIE_EXECUTION_POLICY_SINGLE_VALUE_H_ 9 namespace execution_policy {
16 virtual std::shared_ptr<genie::table::inv_table>
BuildTable(
18 virtual std::vector<genie::query::Query>
BuildQuery(
19 const std::shared_ptr<const genie::table::inv_table>& table,
22 const std::shared_ptr<const genie::table::inv_table>& table,
23 const std::vector<genie::query::Query>& queries)
override final;
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;
This is the top-level namespace of the project.
std::vector< std::vector< int > > QueryData
Raw query data format used for building the queries.
std::vector< std::vector< int > > TableData
Raw table data format used for building the table.
std::pair< std::vector< int >, std::vector< int > > SearchResult
Matching result (top K's ID and count).
Config class holds all user configurable settings of GENIE.
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.
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.
ExecutionPolicy class is the interface for building table, building query, and matching.