.. _program_listing_file_src_sparsebase_utils_extractable.h: Program Listing for File extractable.h ====================================== |exhale_lsh| :ref:`Return to documentation for file ` (``src/sparsebase/utils/extractable.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 ********************************************************/ #include #include #include #include "sparsebase/format/format.h" #include "sparsebase/utils/parameterizable.h" #ifndef SPARSEBASE_SPARSEBASE_UTILS_EXTRACTABLE_H_ #define SPARSEBASE_SPARSEBASE_UTILS_EXTRACTABLE_H_ namespace sparsebase::utils { class Extractable { public: virtual std::unordered_map Extract( format::Format *format, std::vector contexts, bool convert_input) = 0; virtual std::type_index get_id() = 0; virtual std::vector get_sub_ids() = 0; virtual std::vector get_subs() = 0; virtual std::shared_ptr get_params() = 0; virtual std::shared_ptr get_params( std::type_index feature_extractor) = 0; virtual void set_params(std::type_index feature_extractor, std::shared_ptr params) = 0; virtual ~Extractable() = default; protected: std::shared_ptr params_; std::unordered_map> pmap_; }; } // namespace sparsebase::utils #endif