- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
AbstractMessageFrame * DataLength = create_frame(
make_condition_reader(this,
fnc_ext::bind(
fnc_ext::compose1(
fnc_ext::compose2(std::logical_or<bool>(),
std::bind2nd(std::equal_to<byte>(), PC5000FlashFeatures::MARKER_SYMBOL),
std::bind2nd(std::equal_to<byte>(), PC5000FlashFeatures::SPACE_SYMBOL)),
fnc_ext::mem_fun<const ByteBuffer, const byte&>(&ByteBuffer::back) ),
&_receivedBuffer),
fnc_ext::bind(
fnc_ext::compose2(std::logical_or<bool>(),
fnc_ext::compose1(std::bind2nd(std::greater<WORD>(),
PC5000FlashFeatures::LENGTH_HEADER +
_maxCommandFieldLength +
PC5000FlashFeatures::LENGTH_MARKER +
PC5000FlashFeatures::LENGTH_OF_LENGTH),
fnc_ext::mem_fun(&ByteBuffer::length)),
fnc_ext::compose1(fnc_ext::compose2(std::logical_and<bool>(),
std::not1(std::ptr_fun<const char, bool>((SymbolCheckFunc)isDigit)),
std::not1(std::ptr_fun<const char, bool>((SymbolCheckFunc)isEnglishLetter))),
fnc_ext::mem_fun<const abstractBuffer<unsigned char>, const byte&>(&ByteBuffer::back)) ),
&_receivedBuffer) ),
fnc_ext::bind(std::mem_fun(&ThisClass::setDataLength), this),
"Data Length");
Композиции, частичные применения, функторы? Больше тотальной функциональщины! Вложенность продолжает расти с развитием проекта.
guest 17.09.2013 12:03 # +1
guest 17.09.2013 12:10 # +7
std::mem_fun fnc_ext::mem_fun
Парень не велосипедист, хотя промахнулся c isDigit std::isdigit.
guest 17.09.2013 12:11 # +2
bormand 17.09.2013 12:23 # +1
Это что вообще такое? Гугл по запросу fnc_ext выдает 10 страниц уютненького, а дальше всякий хлам, не имеющий отношения к делу :)
Сибилдероблядство какое-нибудь?
guest 17.09.2013 14:48 # 0
defecate-plusplus 17.09.2013 15:17 # +1
guest 17.09.2013 15:26 # 0
roman-kashitsyn 17.09.2013 15:27 # +1
guest 17.09.2013 15:32 # 0
bormand 17.09.2013 15:34 # +4
Потому что они это делают на особых, функци анальных языках.
guest 17.09.2013 15:36 # +2
Stertor 05.10.2013 22:02 # −2
guest 05.10.2013 22:16 # −2
guest 05.10.2013 22:30 # 0
Stertor 06.10.2013 00:55 # +1
guest 17.09.2013 12:43 # −16
guest 17.09.2013 14:49 # −8
LispGovno 20.11.2013 20:55 # 0