- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
#include <boost/spirit/include/phoenix_fusion.hpp>
#include <boost/fusion/include/adapt_struct.hpp>
#include <iostream>
#define GEN_MACRO_0(X, Y) \
((X, Y)) GEN_MACRO_1
#define GEN_MACRO_1(X, Y) \
((X, Y)) GEN_MACRO_0
#define GEN_MACRO_0_END
#define GEN_MACRO_1_END
#define SHOW(name,val) \
std::cout << name << " : " << val ;
#define SHOW_TUPLE(r,_,tupple) \
SHOW( "1st",BOOST_PP_TUPLE_ELEM(2,0,tupple)) \
SHOW("\t2nd",BOOST_PP_TUPLE_ELEM(2,1,tupple)) \
std::cout << std::endl;
#define OUTPUT (ADD_PAREN_1 INPUT,_END)
#define SHOW_NODES(seq) \
BOOST_PP_SEQ_FOR_EACH(SHOW_TUPLE,_, \
BOOST_PP_CAT(GEN_MACRO_0 seq,_END) )
int main() {
SHOW_NODES(
("cock","unskill")
("rock","hard")
("price","over 100500")
)
}
Годнокодец из boost::fusion.
http://coliru.stacked-crooked.com/a/c516a67930a9c1a8
LispGovno 29.12.2013 23:26 # +2
Сразу плюсанул. Особенно второе.
crastinus 29.12.2013 23:32 # −1
kegdan 29.12.2013 23:44 # −2
BOOST_PP_SEQ_FOR_EACH
BOOST_PP_TUPLE_ELEM
BOOST_PP_CAT
неужто прям в язык вшито?
LispGovno 29.12.2013 23:45 # −1
Да каленым железом не изгонишь. Зашито у некоторых даже в головах.
kegdan 29.12.2013 23:48 # −1
crastinus 30.12.2013 00:05 # +1
- Продемонстрируйте ваши способности работы с кортежами
- Ну, примерно так:
BOOST_PP_TUPLE_ELEM(2,0,(1,2))
bormand 29.12.2013 23:48 # +1
Ваш кэп.
crastinus 29.12.2013 23:48 # +1
boost/fusion - эмуляция функциональщины
boost/spirit - DSL генератор парсеров
bormand 29.12.2013 23:48 # +3
crastinus 29.12.2013 23:50 # +1
LispGovno 29.12.2013 23:51 # +1
bormand 29.12.2013 23:56 # +1
LispGovno 29.12.2013 23:57 # 0
bormand 30.12.2013 00:03 # 0
LispGovno 30.12.2013 00:06 # 0
bormand 30.12.2013 00:10 # +1
LispGovno 30.12.2013 00:11 # 0
bormand 30.12.2013 00:22 # 0
P.S. Ну она не так и часто пересобиралась. Но когда пересобиралась - очень бесило.
LispGovno 30.12.2013 00:25 # 0
bormand 30.12.2013 00:28 # 0
P.S. Я этот проект забросил по причинам независящим от буста ;(
LispGovno 30.12.2013 00:31 # 0
bormand 30.12.2013 00:36 # 0
crastinus 30.12.2013 00:02 # 0
bormand 30.12.2013 00:11 # 0
crastinus 30.12.2013 00:16 # +1
govnomonad 30.12.2013 08:28 # 0
LispGovno 29.12.2013 23:50 # 0
Ты с фениксом его попутал бро.
crastinus 29.12.2013 23:57 # 0
Dummy00001 29.12.2013 23:56 # 0
crastinus 30.12.2013 00:00 # +1
std::cout << "1st" << " : " << "cock"; std::cout << "2nd" << " : " << "unskill"; std::endl;
...
Dummy00001 30.12.2013 00:27 # 0
crastinus 30.12.2013 00:33 # 0
Но если вас интересует вывод с ключом -E, то там как я описал в комментарии выше.
Dummy00001 30.12.2013 00:39 # 0
хм. и на самом деле.
someone 30.12.2013 10:05 # 0
Судя по соседнему слову unskill, автор имел в виду вовсе не член.
Soul_re@ver 30.12.2013 10:16 # 0
bormand 30.12.2013 10:37 # 0
someone 30.12.2013 11:00 # +3
bormand 30.12.2013 11:52 # 0
Но подраться не решились -
Если сильно питушиться
Можно пёрышек лишиться.
kegdan 30.12.2013 12:41 # 0
Петушки вы петушки
С гребешком головушка!
Скоро ждет вас, ребятушки
До супца обновушка!
kegdan 30.12.2013 11:32 # 0
петух
кран
хуй
курок
пенис
самец
елдак
хер
флюгер
петушиный крик
И самое интересное - никакого члена
crastinus 30.12.2013 12:47 # 0
kegdan 30.12.2013 13:01 # −1
cpZFbWH 25.08.2021 02:56 # 0