X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FVariantParser.ih;h=f485bb228d616ca112bdbaca1277a4de2aaed89b;hb=6fecbc9f068fc7c391f5f23d2c7ff37f61f1ff2d;hp=79db6c7eb3816746a45a625c15f4d74622e00538;hpb=ef9940d989277e814988967b0022bfdd13542045;p=senf.git diff --git a/Packets/VariantParser.ih b/Packets/VariantParser.ih index 79db6c7..f485bb2 100644 --- a/Packets/VariantParser.ih +++ b/Packets/VariantParser.ih @@ -23,8 +23,8 @@ /** \file \brief VariantParser internal header */ -#ifndef IH_VariantParser_ -#define IH_VariantParser_ 1 +#ifndef IH_SENF_Packets_VariantParser_ +#define IH_SENF_Packets_VariantParser_ 1 // Custom includes #include "PacketParser.hh" @@ -124,9 +124,10 @@ namespace detail { # define SENF_PARSER_VARIANT_I(access, name, chooser, types) \ SENF_PARSER_REQUIRE_VAR(variant) \ - private: \ + protected: \ typedef boost::mpl::vector< BOOST_PP_SEQ_ENUM(SENF_PARSER_VARIANT_TYPES(types)) > \ BOOST_PP_CAT(name, _parsers); \ + private: \ typedef BOOST_PP_CAT(SENF_PARSER_COLLECTION_GETAUX(chooser), _t)::value_type \ BOOST_PP_CAT(name,_chooser_value_type); \ BOOST_PP_IF( SENF_PARSER_VARIANT_NEEDTRANSFORM(types), \ @@ -138,7 +139,7 @@ namespace detail { BOOST_PP_CAT(name, _traits); \ public: \ SENF_PARSER_COLLECTION_I( \ - BOOST_PP_IIF( SENF_PARSER_VARIANT_NEEDACCESSORS(types), private, access), \ + BOOST_PP_IIF( SENF_PARSER_VARIANT_NEEDACCESSORS(types), protected, access), \ name, chooser, BOOST_PP_CAT(name, _traits) ); \ access: \ BOOST_PP_SEQ_FOR_EACH_I(SENF_PARSER_VARIANT_ACCESSOR, name, types) \ @@ -149,7 +150,7 @@ namespace detail { template \ struct BOOST_PP_CAT(name, _key_value_template) \ : public senf::detail::VariantKey {}; \ - template friend class senf::detail::VariantKey; \ + template friend class senf::detail::VariantKey; \ typedef senf::detail::VariantKeyTransform< \ BOOST_PP_CAT(name,_chooser_value_type), \ boost::mpl::vector< \