80 static_assert(
sizeof(
UserData<T>) <= 32,
"userdata_storage is too small!");
81 user_data =
new(userdata_storage)
UserData<T>(data);
94 return std::shared_ptr<T>();
103 char userdata_storage[32];
std::shared_ptr< T > get_data()
Definition: userdata.h:85
std::shared_ptr< T > data
Definition: userdata.h:50
void set_data(const std::shared_ptr< T > &data)
Definition: userdata.h:72
Definition: userdata.h:46
virtual ~UserDataBase()
Definition: userdata.h:42
UserData(const std::shared_ptr< T > &data)
Definition: userdata.h:49
Helper class to store any shared_ptr as user data on an object.
Definition: userdata.h:54
~UserDataOwner()
Definition: userdata.h:62
Definition: userdata.h:39
UserDataOwner()
Definition: userdata.h:57