26 #ifndef CASADI_RESOURCE_INTERNAL_HPP
27 #define CASADI_RESOURCE_INTERNAL_HPP
29 #include "resource.hpp"
30 #include "shared_object.hpp"
31 #include "serializing_stream.hpp"
52 virtual const std::string&
path()
const = 0;
59 void change_option(
const std::string& option_name,
74 const std::string&
path()
const override {
return path_;}
79 std::string
class_name()
const override {
return "DirResource";}
82 void disp(std::ostream& stream,
bool more)
const override;
105 const std::string&
path()
const override {
return dir_;}
110 std::string
class_name()
const override {
return "TemporaryDirResource";}
113 void disp(std::ostream& stream,
bool more)
const override;
118 void setup_temp_dir(
const std::string& base_name,
const std::string& suffix=
"");
142 std::string
class_name()
const override {
return "ZipResource";}
145 void disp(std::ostream& stream,
bool more)
const override;
172 std::string
class_name()
const override {
return "ZipMemResource";}
175 void disp(std::ostream& stream,
bool more)
const override;
181 mutable std::stringstream blob_;
182 #ifdef CASADI_WITH_THREADSAFE_SYMBOLICS
183 mutable std::mutex mutex_blob_;
Helper class for Serialization.
std::string class_name() const override
Get type name.
const std::string & path() const override
Get path for a consumer.
Generic data type, can hold different types such as bool, casadi_int, std::string etc.
RAII class base for reading from resources.
virtual const std::string & path() const =0
Get path for a consumer.
std::string serialize_mode_
Helper class for Serialization.
Base class for resources that use a temporary directory.
TemporaryDirResource(DeserializingStream &s)
std::string class_name() const override
Get type name.
const std::string & path() const override
Get path for a consumer.
RAII class for reading from a zip held in memory.
std::string class_name() const override
Get type name.
RAII class for reading from a zip file.
std::string class_name() const override
Get type name.
std::vector< casadi_int > path(const std::vector< casadi_int > &map, casadi_int i_start)