нужными свойствами.
И перегружаешь метод через enable_if?
ну чтобы принимать решение, было бы круто, если бы я отдаленно понимал, как это будет выглядеть без концептов)
ну в целом типа такого template<auto (T::*Member)> ClassWrapper<T>& propertyRO(const char* name) { properties.push_back(ClassWrapper<T>::Caller::template InstanceAccessor<Alias<Member>::defaultGetter>(name)); return *this; }; template<auto (T::*Getter)(...)> ClassWrapper<T>& propertyRO(const char* name) { properties.push_back(ClassWrapper<T>::Caller::template InstanceAccessor<Alias<Getter>::call>(name)); return *this; };
Просто код без проверок напиши для начала. В шаблонах проверки подчас даже вредны.
Вот гляди, это правда твоей исходной задаче не поможет никак, но почему ты не хочешь отдать клиенту твоего шаблона то, как он будет вытаскивать свойства из своего класса? Почему обязательно указатель на метод?
то есть? чтобы он мог отдать вообще лямбду какую-то?
Это плохо, вшивать в шаблоны какие-то требования к клиенту
Или просто ссылку на данные
ну вот как раз я добавил возможность отдать ссылку на свойство класса
Обсуждают сегодня