Сообщение Re: setParams для родственной иерархии классов с Variadic Te от 28.04.2017 13:16
Изменено 28.04.2017 13:16 Evgeny.Panasyuk
Re: setParams для родственной иерархии классов с Variadic Templates
Здравствуйте, gencoder, Вы писали:
G>
Судя по тому что родитель ничего не знает о потомке, здесь придётся стирать типы. Например запихнуть std::tuple в boost::any, а в потомке сделать any_cast (либо сделать более эффективный аналог any для данного случая — тут можно обойтись без аллокации, так как данные живут вверху стэка)
G>
G>A<int>* ptr = new B<int>;
ptr->>setParams(1,2); // m_i=1, m_j=2
G>
Судя по тому что родитель ничего не знает о потомке, здесь придётся стирать типы. Например запихнуть std::tuple в boost::any, а в потомке сделать any_cast (либо сделать более эффективный аналог any для данного случая — тут можно обойтись без аллокации, так как данные живут вверху стэка)
Re: setParams для родственной иерархии классов с Variadic Te
Здравствуйте, gencoder, Вы писали:
G>
Судя по тому что родитель ничего не знает о потомке, здесь придётся стирать типы. Например запихнуть std::tuple с параметрами в boost::any, а в потомке сделать any_cast (либо сделать более эффективный аналог any для данного случая — тут можно обойтись без аллокации, так как данные живут вверху стэка)
G>
G>A<int>* ptr = new B<int>;
ptr->>setParams(1,2); // m_i=1, m_j=2
G>
Судя по тому что родитель ничего не знает о потомке, здесь придётся стирать типы. Например запихнуть std::tuple с параметрами в boost::any, а в потомке сделать any_cast (либо сделать более эффективный аналог any для данного случая — тут можно обойтись без аллокации, так как данные живут вверху стэка)