b>j)΄!Pԫ&;"kB޶}pSVT(wę!j x;-m@JnQ+պכ7MajfJͱ4jѲ撆RxZMz7vIW/dٞТזcZM~ji ߒsQzԠDW3Den"M+/B:-uIJ7j委9p='mANޭ=/B:-n&nUfqxZM~c Ϲ+,&ᾺܢF[(1*" ϒ"Jԧ<;b" "jܢF[x ,!q қ*]/؝27SMcs"ޭDQ/应ܢF_! :s" 7`F+SVTn"IJnQ/应B 4 wD"IJ׭-`S9DrjiEJ߅gJ应矁[xZM~n"IB؃!'Тѕ+(mIKʭ/|ϐܢF[xZMzG %嬩/c[[ Новый триал IBProvider 3.54.0.29017

Новый триал IBProvider 3.54.0.29017

Уже дважды прогонял тесты, позволяющий выпустить релиз IBProvider 3.54, но опять решил немного доработать код 🙂

На днях осознал «variadic templates», и не смог не заюзать их для обновления одной штуки, написанной в далеком 2001 году — это конструкция для хранения указателя на метод объекта. Аналог event’ов из Delphi и C++ Builder.

Код радикально сократился и теперь может переваривать методы с любым количеством параметров. Немного расстроило то, что поддержка variadic template появилась только в 2013 студии. Поэтому новый код работает только в сборках vc12xp, vc14xp и vc15. Сборки vc10, vc11xp используют старые конструкции (хотя я их тоже доработал для поддержки rvalue references). В триал включены сборки vc12xp.

Если кому интересно — исходный код обозначенных конструкций можно посмотреть в каталоге «c:\Program Files (x86)\LCPI\IBProvider.3\lib\structure\closure».

Вообще, современные плюсы немного «сдвигают» сознание. Каких-то десять лет назад о такой штуке как «variadic templates» даже и не мечталось.

Leave a Comment