А вообще, самое забавное, что в продакшене я могу использовать больше фич C++11, чем в личкрафтах, ибо там мы ориентируемся на gcc 4.7.
*c++
После перехода на C++11 проект по работе стал работать на ~130% быстрее. Move semantics, все дела. ЗБС.
Не понимаю, как на современных плюсах можно писать не-reentrant-код, но авторам TagLib удалось это сделать.
Попробовал профайлер Intel VTune. Очень годно, на порядок лучше этих ваших валгриндов и гугл перфтулзов. В генте есть в оверлее science, интеловцы нахаляву дают ключи для некоммерческого использования.
Очень милые картинки этот профайлер делает, все просто и понятно, удобная навигация по исходникам, даже личкрафты ... more →
Yo dawg, I've heard you like lambdas so I put a lambda in your lambda so you can CPS in C++: http://codepad.org/MxoAQRma
При этом, сам хендлер-менглер: http://codepad.org/qzG3QLWg
Объебался и обрабатываю различные виды тегов (хендлеры которых наследуются от одного базового класса) через Boost.MPL. Этакая диспетчеризация по типу в рантайме. Получилось, ИМХО, няшно:
код инициализации обработки → http://codepad.org/kJrw7cYN
сам обработчик → http://codepad.org/mtMxXl5X
А вообще насколько разумно было бы написать кодогенератор на хацкеле, скомпилять его в сишечку и таскать получившийся блевок на целевые системы, где уже его компилять?
+ не тащим блобы в целевую систему
+ не зависит от ghc
+ наркомания
- наркомания
Аргх, кому-то таки не нравятся гроздья буста, и теперь в проекте нельзя его юзать :(
Пойду сделаю вдоль.
Пишу свои ебанутые контейнеры и итераторы, встречаются такие вещи, как m_reqChar = **this;. А еще есть CmpMixin<T> и DiffMixin<T>, от которых наследуются и iterator, и const_iterator. У меня прям ЧСВ выпирает от таких названий.
Блин, ну почему charT в std::basic_string обязательно должен быть POD'ом? А то так красиво бы получилось зафигачить уникодные строки, просто определив нужный charT.
Таки чем в плюсах работать с variable-width encodings, в частности, с UTF-8?
Boost.Locale и ICU шоле? Или есть что еще, менее тяжеловесное и конкретно для этой задачи?
Для phonon::mediasource определен operator==, но не определен operator!=. Нахуй так жить?!
gcc 4.7 — говно. Есть функция, состоящая из одного свитча по енам классу, в котором перечислены все возможные case'ы для значений енамкласса, и для каждого кейса указан return. Так вот, gcc 4.7 все равно ругается, что control reaches end of non-void function.
Господа, как бы на Xlib определить геометрию и хинты окна, которое под фокусом в данный момент?
[17:53:10] ForNeVeR: Нет, студия знает стандарт лучше тебя.
[17:53:14] ForNeVeR: И лучше гцц и шланга.
Олсо, мне таки сегодня днем удалось заставить пахать clang'овский статический анализатор с cmake'ом. Прогнал по личкрафтам. Скука — 7 предупреждений на всю кодобазу, и те о том, что переменная не используется после присваивания.
Пиздец просто! http://www.velocityreviews.com/forums/t5...
Особенно понравилось решение с запихиванием всех возможных percent-encoded entities в мапу/список.
Пстощ, как ты относишься к конструкциям типа такой?
SomeVeryLongTemplateType Foo::GetSmth ()
{
decltype (GetSmth ()) result;
...
}
Про тайпдефы я слышал и считаю, что они со всеми этими auto и decltype'ами уже потеряли былую актуальность в этом контексте.
Дискасс.
Это ведь баг в гцц 4.7, да? Ну, что первая ссылка не компилится, а вторая компилится и работает:
http://liveworkspace.org/code/fbee4a3cb0...
http://liveworkspace.org/code/8b7a7a9798...
Кути няшечка, замена синхронного выполнения на асинхронное — пяток строк :3 https://github.com/0xd34df00d/leechcraft...
Упоролся вариадиками, например → http://paste.pocoo.org/show/586093/
Решение проблемы из предыдущего поста с default argument'ом просто ужасно, и мне от него хочется блевать, но что ж поделать.
/home/d34df00d/Programming/leechcraft/src/plugins/lmp/localcollection.cpp:66:32: sorry, unimplemented: cannot expand ‘Rest ...’ into a fixed-length argument list
Написал ведь простейший вариадик.
*c++ is used by:
0xd34df00d
0xd34df00d
Пахом
Pahom
Hirthwork McGillah
hirthwork
analizer
analizer
профессиональный говноед
ulidtko
werehuman
werehuman
0x2207
0x2207
няша
generatorglukoff
4DA
4da
Mагог Магогович
magog
dorfe
dorfe
Оранжевус Охуеннус
utros
gelraen
gelraen
Darth Bricktop
Like-all
kb
kb
jabber
jabber
16+
238328
Cthulhu
Cthulhu
failman
failman
Джордж Ричмонд
richmond
Crazy_Owl
Crazy_Owl
beardog
beardog
Лисий хвост
madInsane
SirAnthony
SirAnthony
amd63
amd63
Monah Tuk
hatred
Nico-izo
Nico-izo
nobiiru
nobiiru
K900
K900
anonymous_owl
anonymous_owl
Артём
astecenko
asmer
asmer
Minoru
Minoru
chemikadze
chemikadze
Andrew Motrenko
werdn
Артс
arts
Anatoly Kalin
m4n71k0r
folex
folex
Дэш
dash
Maxim Kirenenko
part1zano
Ky6uk
Ky6uk
Michael Pogoda
MPogoda
taras
taras
18+ Запрещено для детей.
hedgehog
Haomand
Haomand
RainerGomes
RainerGomes
lexszero
lexszero
Rejjin
Rejjin
proton
proton
eurekafag
eurekafag
Spiritual ecstasy
rapture
Enoh
Enoh
rogaboru
rogaboru
Thordendal
z56371410
mva
mva
Fess
zetoke
anoos
anoos
DOMr
DOMr
Bender Bending Rodríguez
DJm00n
Смерть Неизбежна
lHooFool
nexeuse
nexeuse
nstm0
nstm0
Илья Силаков-Волынский
iLeamare
Хотеть!
xotetb
0xd34df00d
Pahom
hirthwork
analizer
ulidtko
werehuman
0x2207
generatorglukoff
4da
magog
dorfe
utros
gelraen
Like-all
kb
jabber
238328
Cthulhu
failman
richmond
Crazy_Owl
beardog
madInsane
SirAnthony
amd63
hatred
Nico-izo
nobiiru
K900
anonymous_owl
astecenko
asmer
Minoru
chemikadze
werdn
arts
m4n71k0r
folex
dash
part1zano
Ky6uk
MPogoda
taras
hedgehog
Haomand
RainerGomes
lexszero
Rejjin
proton
eurekafag
rapture
Enoh
rogaboru
z56371410
mva
zetoke
anoos
DOMr
DJm00n
lHooFool
nexeuse
nstm0
iLeamare
xotetb