Userdata types may be registered with an API using the userdatas
feature.
Example:
#include <primer/api/userdatas.hpp> struct my_api : primer::api::base<my_api> { { ... API_FEATURE(primer::api::userdatas<my_userdata1, my_userdata2, my_userdata3>, udatas_); ... };
The metatables of each userdata will be created when initialize_api
is called, and the permanent objects, defined by the userdata
trait, if any, will be registered when we persist / unpersist.
The userdatas object itself
has no data members and no nontrivial initialization.