26 #ifndef CASADI_SHARED_OBJECT_HPP
27 #define CASADI_SHARED_OBJECT_HPP
29 #include "generic_shared_internal.hpp"
35 class SharedObjectInternal;
36 class WeakRefInternal;
85 std::string class_name()
const;
88 void disp(std::ostream& stream,
bool more=
false)
const;
91 std::string
get_str(
bool more=
false)
const {
99 void print_ptr(std::ostream &stream=
casadi::uout())
const;
150 virtual void disp(std::ostream& stream,
bool more)
const = 0;
156 #ifdef CASADI_WITH_THREAD
157 std::atomic<casadi_int> count;
168 void disp(std::ostream& stream,
bool more)
const override;
171 std::string
class_name()
const override {
return "WeakRefInternal";}
virtual void disp(std::ostream &stream, bool more) const =0
Print a description of the object.
virtual std::string class_name() const =0
Readable name of the internal class.
SharedObjectInternal(const SharedObjectInternal &node)
Copy constructor.
GenericShared implements a reference counting framework similar for efficient and.
std::string get_str(bool more=false) const
Get string representation.
std::string class_name() const override
Readable name of the class.