From 6d303c455260c2629dfcce9a0fffda0842cdb214 Mon Sep 17 00:00:00 2001 From: Myun2 Date: Fri, 25 May 2012 02:30:49 +0900 Subject: [PATCH] =?utf8?q?net/uri.hpp:=20uri=5Fnet=5Fpath:=20=5Finit=5Fref?= =?utf8?q?s()=20=E9=96=A2=E6=95=B0=E8=BF=BD=E5=8A=A0=E3=81=A8=E3=80=81?= =?utf8?q?=E3=82=B3=E3=83=B3=E3=82=B9=E3=83=88=E3=83=A9=E3=82=AF=E3=82=BF?= =?utf8?q?=E5=BC=95=E6=95=B0=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- roast/include/roast/net/uri.hpp | 40 +++++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/roast/include/roast/net/uri.hpp b/roast/include/roast/net/uri.hpp index 16a951e9..e698d16c 100644 --- a/roast/include/roast/net/uri.hpp +++ b/roast/include/roast/net/uri.hpp @@ -132,19 +132,8 @@ namespace roast //typedef uri_authority_rule<_Host, _UserInfo, _Port> _Authority; typedef uri_any_authority<_Host, _UserInfo, _Port> _Authority; typedef ::roast::lexical::seq< _Authority, _Path> _Body; - - public: - delay_ref<_Scheme> scheme; - - delay_ref<_UserInfo> user; - delay_ref<_Host> host; - delay_ref<_Port> port_no; - - delay_ref<_Path> path; - - public: - uri_net_path_() - { + + void _init_refs(){ scheme = _nest_type::ref<0>(*this, _nest_type::_get_n<0>()); // for gcc compilable workaround... ///// @@ -156,16 +145,25 @@ namespace roast port_no = authority.port_no; path = _nest_type::ref<1>(body, _nest_type::_get_n<1>()); // for gcc compilable workaround... + } + public: + delay_ref<_Scheme> scheme; + + delay_ref<_UserInfo> user; + delay_ref<_Host> host; + delay_ref<_Port> port_no; + + delay_ref<_Path> path; + + public: + uri_net_path_(){ _init_refs(); } + uri_net_path_(const _Scheme& scheme_in, const _Path& path_in){ + _init_refs(); + + scheme = scheme_in; + path = path_in; } - - /*uri_net_path_(const _Scheme& scheme_in, const _Path& path_in)){ - scheme = _nest_type::ref<0>(*this, _nest_type::_get_n<0>()); // for gcc compilable workaround... - host = _nest_type::ref<2>(*this, _nest_type::_get_n<2>()); // for gcc compilable workaround... - user = _nest_type::ref<2>(*this, _nest_type::_get_n<2>()); // for gcc compilable workaround... - port_no = _nest_type::ref<2>(*this, _nest_type::_get_n<2>()); // for gcc compilable workaround... - path = _nest_type::ref<2>(*this, _nest_type::_get_n<2>()); // for gcc compilable workaround... - }*/ }; typedef uri_net_path_<> uri_net_path; -- 2.11.0