Se la tua API si aspetta una struttura siffatta:
dovrebbe essere sufficiente:codice:struct vertex { glm::vec3 pos; glm::vec2 UV }
e dove hai il const void* passi: myVertex.get_api_vertex()codice:struct vertex { glm::vec3 pos; glm::vec2 UV } template <class T> struct wrapper { ... // varie cose T get_data() { return data; } } struct MyVertex { vertex vtype; wrapper< glm::vec3 > pos; wrapper< glm::vec2 > UV; vertex* get_api_vertex() { vtype.pos = pos.get_data(); vtype.UV = UV.get_data(); return &vtype; } }
Non vedo a cosa ti serva il CManager ne le typelist (o variadic template in C++)

Rispondi quotando