26 #ifndef CASADI_ARCHIVER_IMPL_HPP
27 #define CASADI_ARCHIVER_IMPL_HPP
29 #include "archiver.hpp"
30 #include "plugin_interface.hpp"
48 Archiver :
public PluginInterface<Archiver> {
50 typedef bool (* Unpack)(
const std::string& src,
51 const std::string& target_dir);
52 typedef bool (* UnpackFromStringStream)(std::stringstream& src,
53 const std::string& target_dir);
54 typedef bool (* Pack)(
const std::string& src_dir,
55 const std::string& path);
56 typedef bool (* PackToStream)(
const std::string& src_dir,
59 typedef bool (* PackEntries)(
60 const std::vector<std::pair<std::string, std::string> >& entries,
61 const std::string& path);
64 typedef Archiver* (*Creator)();
66 static const std::string meta_doc;
71 UnpackFromStringStream unpack_from_stringstream;
73 PackToStream pack_to_stream;
74 PackEntries pack_entries;
78 static std::map<std::string, Plugin> solvers_;
80 #ifdef CASADI_WITH_THREADSAFE_SYMBOLICS
81 static std::mutex mutex_solvers_;
85 static const std::string infix_;