Boost.MPL

Jul. 30th, 2012 09:46 pm
madf: (Default)
[personal profile] madf
У середу відкрив ля себе Boost.MPL. Четвер, п’ятниця і обидва вихідних тупо випали і спробувати її не було нагоди. Зате читав багато документації і уявляв як усе буде круто і як наступить щастя на планеті.
Реальність виявилась не такою чарівною. Variadic Templates у Boost.MPL досі не підтримуються. А значить щоб зробити apply вектора типів треба його рекурсивно розгортати. Тим часом мій Sort працює з Variadic Templates і apply'їться без проблем.
Постав перед вибором: красиво і стандартно чи коротко і зрозуміло.
В принципі, мені-то тільки boost::mpl::sort і потрібен, а значить можна обійтись своїми "велосипедами".
PS:
typedef boost::mpl::vector<B, D1, D2, DD>::type types;                    
                                                                                
typedef boost::mpl::sort<types, boost::mpl::not_<std::is_base_of<boost::mpl::_1, boost::mpl::_2>>>::type sortedTypes;
                                                                                
typename apply<HContainer, sortedTypes>::type data;

apply стібрив звідси: https://github.com/scientific-coder/Computer-Languages/blob/master/interpreting/apply.hxx
Бо мене трошки запарило розгортати ці рекурсивні типи даних.

Одним словом: розчарування.

Profile

madf: (Default)
madf

April 2018

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 24th, 2025 12:03 pm
Powered by Dreamwidth Studios