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];
virtual ~UserDataBase()
Definition: userdata.h:42
Definition: userdata.h:47
UserDataOwner()
Definition: userdata.h:57
~UserDataOwner()
Definition: userdata.h:62
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
std::shared_ptr< T > get_data()
Definition: userdata.h:85
void set_data(const std::shared_ptr< T > &data)
Definition: userdata.h:72
UserData(const std::shared_ptr< T > &data)
Definition: userdata.h:49
Definition: userdata.h:40