.. _program_listing_file_src_sparsebase_experiment_concrete_experiment.h: Program Listing for File concrete_experiment.h ============================================== |exhale_lsh| :ref:`Return to documentation for file ` (``src/sparsebase/experiment/concrete_experiment.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp /******************************************************* * Copyright (c) 2022 SparCity, Amro Alabsi Aljundi, Taha Atahan Akyildiz, Arda *Sener All rights reserved. * * This file is distributed under MIT license. * The complete license agreement can be obtained at * https://sparcityeu.github.io/sparsebase/pages/license.html ********************************************************/ #ifndef SPARSEBASE_SPARSEBASE_EXPERIMENT_EXPERIMENT_H_ #define SPARSEBASE_SPARSEBASE_EXPERIMENT_EXPERIMENT_H_ #include "sparsebase/experiment/experiment_type.h" namespace sparsebase::experiment { class ConcreteExperiment : public ExperimentType { public: void Run(unsigned int times = 1, bool store_auxiliary = false) override; void AddDataLoader(LoadDataFunction func, std::vector, std::any>> targets) override; void AddPreprocess(std::string id, PreprocessFunction func, std::any params) override; void AddKernel(std::string id, KernelFunction func, std::any params) override; std::map> GetRunTimes() override; std::map> GetResults() override; std::map GetAuxiliary() override; protected: std::vector, std::any>>> targets_; std::unordered_map> kernels_; // std::unordered_map _kernel_parameters; std::vector dataLoaders_; std::unordered_map> preprocesses_; std::map auxiliary_; std::map> runtimes_; std::map> results_; }; } // namespace sparsebase::experiment #ifdef _HEADER_ONLY #include "sparsebase/experiment/concrete_experiment.cc" #endif #endif