Program Listing for File partitioner.h

Return to documentation for file (src/sparsebase/partition/partitioner.h)

#include <any>
#include <cmath>
#include <iostream>
#include <memory>
#include <typeindex>
#include <typeinfo>
#include <unordered_map>
#include <vector>

#include "sparsebase/config.h"
#include "sparsebase/context/cpu_context.h"
#include "sparsebase/converter/converter.h"
#include "sparsebase/format/format.h"
#include "sparsebase/format/format_order_one.h"
#include "sparsebase/format/format_order_two.h"
#include "sparsebase/utils/extractable.h"
#include "sparsebase/utils/function_matcher_mixin.h"
#ifndef SPARSEBASE_PROJECT_PARTITIONER_H
#define SPARSEBASE_PROJECT_PARTITIONER_H

namespace sparsebase::partition {


template <typename IDType>
class Partitioner : public utils::FunctionMatcherMixin<IDType *> {
 public:
  Partitioner();


  IDType *Partition(format::Format *format,
                    std::vector<context::Context *> contexts,
                    bool convert_input);


  IDType *Partition(format::Format *format, utils::Parameters *params,
                    std::vector<context::Context *> contexts,
                    bool convert_input);
  virtual ~Partitioner();
};

}  // namespace sparsebase::partition
#ifdef _HEADER_ONLY
#include "sparsebase/partition/partitioner.cc"
#endif
#endif  // SPARSEBASE_PROJECT_PARTITIONER_H