X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FPacketParser.cti;h=5d27c622ed0b8b39a9712244df0ccab66212a19f;hb=9bfe0b87be0926193b5baf13865cf045f0de0b0d;hp=4945e3d1cf7ad532bbbc1b5ee282762f8c723367;hpb=ef0a3583fc76292d631de6a4a5cad4a432351ac8;p=senf.git diff --git a/Packets/PacketParser.cti b/Packets/PacketParser.cti index 4945e3d..5d27c62 100644 --- a/Packets/PacketParser.cti +++ b/Packets/PacketParser.cti @@ -46,10 +46,6 @@ prefix_ Parser senf::PacketParserBase::parse(size_type n) return Parser(boost::next(i(),n),state()); } -prefix_ void senf::PacketParserBase::defaultInit() - const -{} - /////////////////////////////////////////////////////////////////////////// // namespace members @@ -59,6 +55,7 @@ prefix_ senf::PacketParserBase::size_type senf::bytes(Parser p) return detail::packetParserSize(p,0); } +#ifndef DOXYGEN template prefix_ typename boost::enable_if_c < boost::is_base_of::value @@ -68,10 +65,33 @@ prefix_ typename boost::enable_if_c < target.value(value); return target; } +#else +template +prefix_ Parser senf::operator<<(Parser target, Value const & value) +{} +#endif + +#ifndef DOXYGEN +template +prefix_ typename boost::enable_if_c < + boost::is_base_of::value + && ! boost::is_base_of::value, + Parser >::type senf::operator<<(Parser target, boost::optional const & value) +{ + if (value) + target.value(*value); + return target; +} +#else +template +prefix_ Parser senf::operator<<(Parser target, Value const & value) +{} +#endif + template prefix_ senf::PacketParserBase::size_type -senf::detail::packetParserSize(Parser p, int, Parser_TakeNum *) +senf::detail::packetParserSize(Parser p, int, senf::mpl::take_uint *) { return Parser::fixed_bytes; }