.. _program_listing_file_src_sparsebase_permute_permuter.h: Program Listing for File permuter.h =================================== |exhale_lsh| :ref:`Return to documentation for file ` (``src/sparsebase/permute/permuter.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #include #include #include #include #include #include #include #include #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_PERMUTER_H #define SPARSEBASE_PROJECT_PERMUTER_H namespace sparsebase::permute { template class Permuter : public utils::FunctionMatcherMixin { public: Permuter() { static_assert(std::is_base_of::value, "Permuter must take as input a Format object"); static_assert(std::is_base_of::value, "Permuter must return a Format object"); } ReturnFormatType *GetPermutation(format::Format *csr, std::vector, bool convert_input); ReturnFormatType *GetPermutation(format::Format *csr, utils::Parameters *params, std::vector, bool convert_input); std::tuple>, ReturnFormatType *> GetPermutationCached(format::Format *csr, std::vector contexts, bool convert_input); std::tuple>, ReturnFormatType *> GetPermutationCached(format::Format *csr, utils::Parameters *params, std::vector contexts, bool convert_input); virtual ~Permuter(); }; } // namespace sparsebase::permute #ifdef _HEADER_ONLY #include "sparsebase/permute/permuter.cc" #endif #endif // SPARSEBASE_PROJECT_PERMUTER_H