Архивы: boost

Время кидаться пальцами

Вышла новая версия буста. Теперь могу обоснованно заявлять, что в бусте присутствует и мой contribution в том числе.

 

Fuck the standards!

TR1 уже давно вышел. Это хорошо. Студия 2008 и 2010 уже включают его по умолчанию. Это просто отлично.

Стандарт (а TR1 — это де-факто уже стандарт) — это всегда хорошо. Больше нельзя называться C++ программистом и закатывать истерики при виде безобидного bind. Теперь нужно либо напрячь мозги и таки освоить основы функциональщины, либо идти заниматься гуевой мышевозней.

А еще стандарты — это плохо. Потому что любое, даже самое разумное и оправданное изменение стандарта превращается в процесс перемещения и горы и Магомета к единому стандартизированному месту встречи. И стандартно занимает до чертиков времени, да и других восполнимых и не очень ресурсов тоже дофига требует.

Вот включили они bind в стандарт. И чо (что, шо, So what, нужное подчеркнуть)? А перегруженные операторы не включили! Бо не было их еще в бусте на момент подачи черновиков в стандарт. В итоге в TR1 вот так вот не сделать:

vector<Person> myVector;
//
// Some stuff here
//
vector<Person>::iterator iter = find_if(
myVector.begin(),
myVector.end(),
bind(&Person::GetLastName, _1) == "Pupkin");

А все из-за того, что тот bind, что в TR1, не перегружает оператор «==», сцуко такой! В итоге, чтобы сделать то же самое, что на куске кода вверху, нужно городить двухуровневый bind с equal_to посередине, от вида которого даже у привычных к boost пассажиров может случится истерика:

vector<Person>::iterator iter = find_if(
myVector.begin(),
myVector.end(),
bind(equal_to<string>, "Pupkin", bind(&Person::GetLastName, _1)));

Еще можно по-старинке взять и нарисовать функтор. На каждый подобный чих. В итоге от обилия их изжога начнется уже у меня.

Нинавижу.

А следующего стандарта еще 10 лет ждать.

РабочеЭ

Любимые на сегодня фразы

Мы не используем boost, потомушта программисты на техподдержке его не знают.

Мы не используем templates, потомушта программисты на техподдержке их не знают.

Продолжать можно до бескончености. Угадайте, на что в итоге похож код?

2 посетителей онлайн
0 гостей, 2 bots, 0 зарегистрированных
Максимум сегодня:: 11 в 03:00 am UTC
В этом месяце: 23 в 12-13-2017 09:47 pm UTC
В этом году: 50 в 02-12-2017 07:56 am UTC
За все время: 130 в 10-22-2014 11:16 pm UTC