JASSv2
JASS_anytime_accumulator_manager.h
Go to the documentation of this file.
1 /*
2  JASS_ANYTIME_ACCUMULATOR_MANAGER.H
3  ----------------------------------
4  Copyright (c) 2025 Andrew Trotman
5  Released under the 2-clause BSD license (See:https://en.wikipedia.org/wiki/BSD_licenses)
6 */
13 #pragma once
14 
15 #include <string>
16 
17 #include "query_heap.h"
18 #include "query_simple.h"
19 #include "accumulator_2d.h"
20 #include "query_block_max.h"
21 #include "compress_integer.h"
22 #include "accumulator_simple.h"
23 
25  {
26  /*
27  GET_BY_NAME()
28  -------------
29  */
36  JASS::query *get_by_name(const std::string &name, JASS::compress_integer &codex)
37  {
38  std::cout << "ACCUMULATOR MANAGER:" << name << "\n";
39 
40  if (name == "2d_heap")
42  else if (name == "1d_heap")
44  else if (name == "simple")
45  return new JASS::query_simple(codex);
46  else if (name == "blockmax")
47  return new JASS::query_block_max(codex);
48  else
49  {
50  std::cout << "ACCUMULATOR MANAGER IS UNKNOWN! USING 2d_heap\n";
52  }
53  }
54  }
JASS::query * get_by_name(const std::string &name, JASS::compress_integer &codex)
Return an accumulator manager given its name, which will normally come from the command line paramete...
Definition: JASS_anytime_accumulator_manager.h:36
Everything necessary to process a query is encapsulated in an object of this type.
Definition: query_simple.h:30
Compression codexes for integer sequences.
Definition: compress_integer.h:34
Everything necessary to process a query using the block-max approach of IOQP.
Compression codexes for integer sequences.
Everything necessary to process a query (using a heap) is encapsulated in an object of this type...
Definition: query_heap.h:33
Definition: JASS_anytime_accumulator_manager.h:24
Store the accumulators in a simple array that gets zeroed at the start of each query.
Everything necessary to process a query using a heap to store the top-k.
Everything necessary to process a query using an array of accumulators with no special handeling...
Store the accumulators in a 2D array as originally used in ATIRE.
Everything necessary to process a query is encapsulated in an object of this type.
Definition: query_block_max.h:31
Everything necessary to process a query is encapsulated in an object of this type.
Definition: query.h:34