32 #include "../api_core.h"
67 user_data->~UserDataBase();
77 user_data->~UserDataBase();
81 static_assert(
sizeof(
UserData<T>) <= 32,
"userdata_storage is too small!");
82 user_data =
new(userdata_storage)
UserData<T>(data);
95 return std::shared_ptr<T>();
104 char userdata_storage[32];
std::shared_ptr< T > get_data()
Definition: userdata.h:86
std::shared_ptr< T > data
Definition: userdata.h:51
void set_data(const std::shared_ptr< T > &data)
Definition: userdata.h:73
Definition: userdata.h:47
virtual ~UserDataBase()
Definition: userdata.h:43
UserData(const std::shared_ptr< T > &data)
Definition: userdata.h:50
Helper class to store any shared_ptr as user data on an object.
Definition: userdata.h:55
~UserDataOwner()
Definition: userdata.h:63
Definition: userdata.h:40
UserDataOwner()
Definition: userdata.h:58