generatorglukoff 21.07.2012 15:24 Досктоп

написал шаблонизатор:

int main(int argc, char **argv)
{
string s = "OLOLOLO";
string data[] = { "PEW", "FOO", "BAR" };

cout << format(
"<message from=\"", s, "\">",
_If_(2 + 2 == 4, _Clause_("123\n"), _Clause_()),
_For_([&]() { return data; }, [&](string *i) { return (i — data) < 3; }, [&](string *i) { return i + 1; },
[&](string *i) { return _Clause_("AAAA_", *i, "_BBBB\n"); }),
"</message>"
).get() << endl;

return 0;
}

<message from="OLOLOLO">123
AAAA_PEW_BBBB
AAAA_FOO_BBBB
AAAA_BAR_BBBB
</message>

а вы всё еще пользуетесь рантаймовым говном? тогда мы выкладываемся на битбакет!

2. generatorglukofflHooFool /1 21.07.2012 15:44 Досктоп

покажи не говно

3. gelraen 21.07.2012 15:55

спасибо, поблевал

4. generatorglukoffgelraen /3 21.07.2012 15:55 Досктоп

это же прекрасно!

5. gelraengeneratorglukoff /4 21.07.2012 15:57 imax

когда это расстройства пищеварения успели стать чем-то хорошим?

6. generatorglukoffgelraen /5 21.07.2012 15:57 Досктоп

код прекрасен, а тебе водку жрать не стоит

7. gelraengeneratorglukoff /6 21.07.2012 15:58 imax

да какой там прекрасен, это уже perl какой-то, а не c++ даже

8. generatorglukoffgelraen /7 21.07.2012 15:59 Досктоп

во первых он делает только одну аллокацию в куче
во вторых он компилируется в очень маленький бинарный код
в третьих у тебя всё равно бы от любых плюсов порвало бы пердак, просто потому что чморить плюсы — это модно

9. gelraengeneratorglukoff /8 21.07.2012 16:01 imax

ну если с первым и вторым я ещё могу согласиться, то третье — очень толсто

10. generatorglukoffgelraen /9 21.07.2012 16:01 Досктоп

sad but true

11. gelraengeneratorglukoff /10 21.07.2012 16:02 imax

nope

Do you really want to delete ?