2013年1月29日火曜日

くそ長ぇよ(´;ω;`)

以下のようなポストを Google+ にしようと思ったら、
エラー: システムで問題が発生しました(#500) - 1 秒後に再試行します…
なんてエラーが出たんですわ。
くそ長ぇ〜よ 
(´;ω;`)ブワッ

[  1%] Building CXX object Src/Connection/Json/CMakeFiles/GooglePlusJsonParser.dir/JsonParser.cpp.obj
JsonParser.cpp
C:\Downloads\boost_1_52_0\boost/spirit/home/support/container.hpp(117) : error C2955: 'boost::Container' : クラス テンプレート を使用するには テンプレート 引数リストが必要です
        C:\Downloads\boost_1_52_0\boost/concept_check.hpp(642) : 'boost::Container' の宣言を確認してください。
        C:\Downloads\boost_1_52_0\boost/spirit/home/qi/detail/pass_container.hpp(296) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::spirit::traits::container_value<Container>' の参照を確認してください
        with
        [
            Container=wchar_t
        ]
        C:\Downloads\boost_1_52_0\boost/spirit/home/qi/detail/pass_container.hpp(331) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::spirit::qi::detail::pass_container<F,Attr,Sequence>::dispatch_attribute<Component>(const Component &,boost::mpl::true_) const' の参照を確認してください
        with
        [
            F=fail_function,
            Attr=wchar_t,
            Sequence=boost::mpl::false_,
            Component=boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>
        ]
        C:\Downloads\boost_1_52_0\boost/spirit/home/qi/operator/kleene.hpp(65) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::spirit::qi::detail::pass_container<F,Attr,Sequence>::operator ()<Subject>(const Component &) const' の参照を確認してください
        with
        [
            F=fail_function,
            Attr=wchar_t,
            Sequence=boost::mpl::false_,
            Subject=boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>,
            Component=boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>
        ]
        C:\Downloads\boost_1_52_0\boost/spirit/home/qi/operator/kleene.hpp(84) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::spirit::qi::kleene<Subject>::parse_container<boost::spirit::qi::detail::pass_container<F,Attr,Sequence>>(boost::spirit::qi::detail::pass_container<F,Attr,Sequence>) const' の参照を確認してください
        with
        [
            Subject=boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>,
            F=fail_function,
            Attr=wchar_t,
            Sequence=boost::mpl::false_
        ]
        C:\Downloads\boost_1_52_0\boost/spirit/home/qi/directive/lexeme.hpp(64) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::spirit::qi::kleene<Subject>::parse<Iterator,Context,boost::spirit::qi::detail::unused_skipper<Skipper>,Attribute>(Iterator &,const Iterator &,Context &,const boost::spirit::qi::detail::unused_skipper<Skipper> &,Attribute &) const' の参照を確認してください
        with
        [
            Subject=boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>,
            Iterator=std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            Context=boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,
            Skipper=boost::spirit::unused_type,
            Attribute=wchar_t
        ]
        C:\Downloads\boost_1_52_0\boost/spirit/home/qi/detail/expect_function.hpp(50) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::spirit::qi::lexeme_directive<Subject>::parse<Iterator,Context,Skipper,Attribute>(Iterator &,const Iterator &,Context &,const Skipper &,Attribute &) const' の参照を確認してください
        with
        [
            Subject=boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>,
            Iterator=std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            Context=boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,
            Skipper=boost::spirit::unused_type,
            Attribute=wchar_t
        ]
        C:\Downloads\boost_1_52_0\boost/spirit/home/qi/detail/pass_container.hpp(263) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::spirit::qi::detail::expect_function<Iterator,Context,Skipper,Exception>::operator ()<Component,wchar_t>(const Component &,Attribute &) const' の参照を確認してください
        with
        [
            Iterator=std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            Context=boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,
            Skipper=boost::spirit::unused_type,
            Exception=boost::spirit::qi::expectation_failure<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>>,
            Component=const boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,
            Attribute=wchar_t
        ]
        C:\Downloads\boost_1_52_0\boost/spirit/home/qi/detail/pass_container.hpp(311) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::spirit::qi::detail::pass_container<F,Attr,Sequence>::dispatch_container<Component>(const Component &,boost::mpl::false_) const' の参照を確認してください
        with
        [
            F=boost::spirit::qi::detail::expect_function<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,boost::spirit::unused_type,boost::spirit::qi::expectation_failure<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>>>,
            Attr=std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            Sequence=boost::mpl::true_,
            Component=const boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>
        ]
        C:\Downloads\boost_1_52_0\boost/spirit/home/qi/detail/pass_container.hpp(331) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::spirit::qi::detail::pass_container<F,Attr,Sequence>::dispatch_attribute<Component>(const Component &,boost::mpl::true_) const' の参照を確認してください
        with
        [
            F=boost::spirit::qi::detail::expect_function<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,boost::spirit::unused_type,boost::spirit::qi::expectation_failure<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>>>,
            Attr=std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            Sequence=boost::mpl::true_,
            Component=const boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>
        ]
        C:\Downloads\boost_1_52_0\boost/fusion/algorithm/query/detail/any.hpp(37) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::spirit::qi::detail::pass_container<F,Attr,Sequence>::operator ()<const T>(const Component &) const' の参照を確認してください
        with
        [
            F=boost::spirit::qi::detail::expect_function<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,boost::spirit::unused_type,boost::spirit::qi::expectation_failure<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>>>,
            Attr=std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            Sequence=boost::mpl::true_,
            T=const boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,
            Component=const boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>
        ]
        C:\Downloads\boost_1_52_0\boost/fusion/algorithm/query/detail/any.hpp(42) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::fusion::detail::linear_any<boost::fusion::cons_iterator<Cons>,Last,F>(const First &,const Last &,F &,boost::mpl::false_)' の参照を確認してください
        with
        [
            Cons=const boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>,
            Last=boost::fusion::cons_iterator<const boost::fusion::nil>,
            F=boost::spirit::qi::detail::pass_container<boost::spirit::qi::detail::expect_function<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,boost::spirit::unused_type,boost::spirit::qi::expectation_failure<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>>>,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,boost::mpl::true_>,
            First=boost::fusion::cons_iterator<const boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>
        ]
        C:\Downloads\boost_1_52_0\boost/fusion/algorithm/query/detail/any.hpp(55) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::fusion::detail::linear_any<boost::fusion::cons_iterator<Cons>,boost::fusion::cons_iterator<const boost::fusion::nil>,F>(const First &,const Last &,F &,boost::mpl::false_)' の参照を確認してください
        with
        [
            Cons=const boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>,
            F=boost::spirit::qi::detail::pass_container<boost::spirit::qi::detail::expect_function<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,boost::spirit::unused_type,boost::spirit::qi::expectation_failure<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>>>,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,boost::mpl::true_>,
            First=boost::fusion::cons_iterator<const boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,
            Last=boost::fusion::cons_iterator<const boost::fusion::nil>
        ]
        C:\Downloads\boost_1_52_0\boost/fusion/algorithm/query/any.hpp(30) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::fusion::detail::any<Sequence,F,boost::fusion::forward_traversal_tag>(const Sequence &,F,Tag)' の参照を確認してください
        with
        [
            Sequence=boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>,
            F=boost::spirit::qi::detail::pass_container<boost::spirit::qi::detail::expect_function<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,boost::spirit::unused_type,boost::spirit::qi::expectation_failure<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>>>,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,boost::mpl::true_>,
            Tag=boost::fusion::forward_traversal_tag
        ]
        C:\Downloads\boost_1_52_0\boost/spirit/home/qi/operator/sequence_base.hpp(108) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::fusion::any<Elements,boost::spirit::qi::detail::pass_container<F,Attr,Sequence>>(const boost::fusion::cons<Car,Cdr> &,boost::spirit::qi::detail::pass_container<F,Attr,Sequence>)' の参照を確認してください
        with
        [
            Elements=boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>,
            F=boost::spirit::qi::detail::expect_function<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,boost::spirit::unused_type,boost::spirit::qi::expectation_failure<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>>>,
            Attr=std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            Sequence=boost::mpl::true_,
            Car=boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,
            Cdr=boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>
        ]
        C:\Downloads\boost_1_52_0\boost/spirit/home/qi/operator/sequence_base.hpp(124) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::spirit::qi::sequence_base<Derived,Elements>::parse_impl<Iterator,Context,Skipper,Attribute>(Iterator &,const Iterator &,Context &,const Skipper &,Attribute &,boost::mpl::true_) const' の参照を確認してください
        with
        [
            Derived=boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,
            Elements=boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>,
            Iterator=std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            Context=boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,
            Skipper=boost::spirit::unused_type,
            Attribute=std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>
        ]
        C:\Downloads\boost_1_52_0\boost/spirit/home/qi/detail/alternative_function.hpp(70) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::spirit::qi::sequence_base<Derived,Elements>::parse<Iterator,Context,Skipper,Attribute>(Iterator &,const Iterator &,Context &,const Skipper &,Attribute &) const' の参照を確認してください
        with
        [
            Derived=boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,
            Elements=boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>,
            Iterator=std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            Context=boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,
            Skipper=boost::spirit::unused_type,
            Attribute=std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>
        ]
        C:\Downloads\boost_1_52_0\boost/spirit/home/qi/detail/alternative_function.hpp(153) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::spirit::qi::detail::alternative_function<Iterator,Context,Skipper,Attribute>::call<Component>(const Component &,boost::mpl::true_) const' の参照を確認してください
        with
        [
            Iterator=std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            Context=boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,
            Skipper=boost::spirit::unused_type,
            Attribute=std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            Component=const boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>
        ]
        C:\Downloads\boost_1_52_0\boost/spirit/home/qi/detail/alternative_function.hpp(170) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::spirit::qi::detail::alternative_function<Iterator,Context,Skipper,Attribute>::call_unused<Component>(const Component &,boost::mpl::true_) const' の参照を確認してください
        with
        [
            Iterator=std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            Context=boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,
            Skipper=boost::spirit::unused_type,
            Attribute=std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            Component=const boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>
        ]
        C:\Downloads\boost_1_52_0\boost/fusion/algorithm/query/detail/any.hpp(37) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::spirit::qi::detail::alternative_function<Iterator,Context,Skipper,Attribute>::operator ()<const T>(const Component &) const' の参照を確認してください
        with
        [
            Iterator=std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            Context=boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,
            Skipper=boost::spirit::unused_type,
            Attribute=std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            T=const boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,
            Component=const boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>
        ]
        C:\Downloads\boost_1_52_0\boost/fusion/algorithm/query/detail/any.hpp(42) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::fusion::detail::linear_any<boost::fusion::cons_iterator<Cons>,Last,F>(const First &,const Last &,F &,boost::mpl::false_)' の参照を確認してください
        with
        [
            Cons=const boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::nil>>,
            Last=boost::fusion::cons_iterator<const boost::fusion::nil>,
            F=boost::spirit::qi::detail::alternative_function<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,boost::spirit::unused_type,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>>,
            First=boost::fusion::cons_iterator<const boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::nil>>>
        ]
        C:\Downloads\boost_1_52_0\boost/fusion/algorithm/query/detail/any.hpp(55) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::fusion::detail::linear_any<boost::fusion::cons_iterator<Cons>,boost::fusion::cons_iterator<const boost::fusion::nil>,F>(const First &,const Last &,F &,boost::mpl::false_)' の参照を確認してください
        with
        [
            Cons=const boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::alnum,boost::spirit::char_encoding::standard>>>,boost::fusion::cons<boost::spirit::qi::eps_parser,boost::fusion::nil>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::nil>>>,
            F=boost::spirit::qi::detail::alternative_function<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,boost::spirit::unused_type,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>>,
            First=boost::fusion::cons_iterator<const boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::alnum,boost::spirit::char_encoding::standard>>>,boost::fusion::cons<boost::spirit::qi::eps_parser,boost::fusion::nil>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::nil>>>>,
            Last=boost::fusion::cons_iterator<const boost::fusion::nil>
        ]
        C:\Downloads\boost_1_52_0\boost/fusion/algorithm/query/any.hpp(30) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::fusion::detail::any<Sequence,F,boost::fusion::forward_traversal_tag>(const Sequence &,F,Tag)' の参照を確認してください
        with
        [
            Sequence=boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::alnum,boost::spirit::char_encoding::standard>>>,boost::fusion::cons<boost::spirit::qi::eps_parser,boost::fusion::nil>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::nil>>>,
            F=boost::spirit::qi::detail::alternative_function<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,boost::spirit::unused_type,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>>,
            Tag=boost::fusion::forward_traversal_tag
        ]
        C:\Downloads\boost_1_52_0\boost/spirit/home/qi/operator/alternative.hpp(79) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::fusion::any<Elements,boost::spirit::qi::detail::alternative_function<Iterator,Context,Skipper,Attribute>>(const Sequence &,F)' の参照を確認してください
        with
        [
            Elements=boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::alnum,boost::spirit::char_encoding::standard>>>,boost::fusion::cons<boost::spirit::qi::eps_parser,boost::fusion::nil>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::nil>>>,
            Iterator=std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            Context=boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,
            Skipper=boost::spirit::unused_type,
            Attribute=std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            Sequence=boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::alnum,boost::spirit::char_encoding::standard>>>,boost::fusion::cons<boost::spirit::qi::eps_parser,boost::fusion::nil>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::nil>>>,
            F=boost::spirit::qi::detail::alternative_function<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,boost::spirit::unused_type,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>>
        ]
        C:\Downloads\boost_1_52_0\boost/spirit/home/qi/nonterminal/detail/parser_binder.hpp(43) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::spirit::qi::alternative<Elements>::parse<Iterator,Context,Skipper,T>(Iterator &,const Iterator &,Context &,const Skipper &,Attribute &) const' の参照を確認してください
        with
        [
            Elements=boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::alnum,boost::spirit::char_encoding::standard>>>,boost::fusion::cons<boost::spirit::qi::eps_parser,boost::fusion::nil>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::nil>>>,
            Iterator=std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            Context=boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,
            Skipper=boost::spirit::unused_type,
            T=std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            Attribute=std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>
        ]
        C:\Downloads\boost_1_52_0\boost/spirit/home/qi/nonterminal/detail/parser_binder.hpp(53) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::spirit::qi::detail::parser_binder<Parser,Auto>::call<Iterator,Skipper,Context>(Iterator &,const Iterator &,Context &,const Skipper &,boost::mpl::false_) const' の参照を確認してください
        with
        [
            Parser=boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::alnum,boost::spirit::char_encoding::standard>>>,boost::fusion::cons<boost::spirit::qi::eps_parser,boost::fusion::nil>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::nil>>>>,
            Auto=boost::mpl::false_,
            Iterator=std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            Skipper=boost::spirit::unused_type,
            Context=boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>
        ]
        C:\Downloads\boost_1_52_0\boost/function/function_template.hpp(132) : コンパイルされたクラスの テンプレート のインスタンス化 'bool boost::spirit::qi::detail::parser_binder<Parser,Auto>::operator ()<Iterator,boost::spirit::unused_type,boost::spirit::context<Attributes,Locals>>(Iterator &,const Iterator &,Context &,const Skipper &) const' の参照を確認してください
        with
        [
            Parser=boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::alnum,boost::spirit::char_encoding::standard>>>,boost::fusion::cons<boost::spirit::qi::eps_parser,boost::fusion::nil>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::nil>>>>,
            Auto=boost::mpl::false_,
            Iterator=std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            Attributes=boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,
            Locals=boost::fusion::vector0<>,
            Context=boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>>,
            Skipper=boost::spirit::unused_type
        ]
        C:\Downloads\boost_1_52_0\boost/function/function_template.hpp(126): クラス テンプレート のメンバー関数 'bool boost::detail::function::function_obj_invoker4<FunctionObj,R,T0,T1,T2,T3>::invoke(boost::detail::function::function_buffer &,T0,T1,T2,T3)' のコンパイル中
        with
        [
            FunctionObj=boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::alnum,boost::spirit::char_encoding::standard>>>,boost::fusion::cons<boost::spirit::qi::eps_parser,boost::fusion::nil>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::nil>>>>,boost::mpl::false_>,
            R=bool,
            T0=std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,
            T1=const std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,
            T2=boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>> &,
            T3=const boost::spirit::unused_type &
        ]
        C:\Downloads\boost_1_52_0\boost/function/function_template.hpp(934) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::detail::function::function_obj_invoker4<FunctionObj,R,T0,T1,T2,T3>' の参照を確認してください
        with
        [
            FunctionObj=boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::alnum,boost::spirit::char_encoding::standard>>>,boost::fusion::cons<boost::spirit::qi::eps_parser,boost::fusion::nil>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::nil>>>>,boost::mpl::false_>,
            R=bool,
            T0=std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,
            T1=const std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,
            T2=boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>> &,
            T3=const boost::spirit::unused_type &
        ]
        C:\Downloads\boost_1_52_0\boost/function/function_template.hpp(722) : コンパイルされたクラスの テンプレート のインスタンス化 'void boost::function4<R,T0,T1,T2,T3>::assign_to<Functor>(Functor)' の参照を確認してください
        with
        [
            R=bool,
            T0=std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,
            T1=const std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,
            T2=boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>> &,
            T3=const boost::spirit::unused_type &,
            Functor=boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::alnum,boost::spirit::char_encoding::standard>>>,boost::fusion::cons<boost::spirit::qi::eps_parser,boost::fusion::nil>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::nil>>>>,boost::mpl::false_>
        ]
        C:\Downloads\boost_1_52_0\boost/function/function_template.hpp(1070) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::function4<R,T0,T1,T2,T3>::function4<boost::spirit::qi::detail::parser_binder<Parser,Auto>>(Functor,int)' の参照を確認してください
        with
        [
            R=bool,
            T0=std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,
            T1=const std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,
            T2=boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>> &,
            T3=const boost::spirit::unused_type &,
            Parser=boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::alnum,boost::spirit::char_encoding::standard>>>,boost::fusion::cons<boost::spirit::qi::eps_parser,boost::fusion::nil>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::nil>>>>,
            Auto=boost::mpl::false_,
            Functor=boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::alnum,boost::spirit::char_encoding::standard>>>,boost::fusion::cons<boost::spirit::qi::eps_parser,boost::fusion::nil>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::nil>>>>,boost::mpl::false_>
        ]
        C:\Downloads\boost_1_52_0\boost/function/function_template.hpp(1124) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::function<Signature>::function<boost::spirit::qi::detail::parser_binder<Parser,Auto>>(Functor,int)' の参照を確認してください
        with
        [
            Signature=bool (std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,const std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>> &,const boost::spirit::unused_type &),
            Parser=boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::alnum,boost::spirit::char_encoding::standard>>>,boost::fusion::cons<boost::spirit::qi::eps_parser,boost::fusion::nil>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::nil>>>>,
            Auto=boost::mpl::false_,
            Functor=boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::alnum,boost::spirit::char_encoding::standard>>>,boost::fusion::cons<boost::spirit::qi::eps_parser,boost::fusion::nil>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::nil>>>>,boost::mpl::false_>
        ]
        C:\Downloads\boost_1_52_0\boost/spirit/home/qi/nonterminal/rule.hpp(183) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::function<Signature> &boost::function<Signature>::operator =<boost::spirit::qi::detail::parser_binder<Parser,Auto>>(Functor)' の参照を確認してください
        with
        [
            Signature=bool (std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,const std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::spirit::context<boost::fusion::cons<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>> &,boost::fusion::nil>,boost::fusion::vector0<>> &,const boost::spirit::unused_type &),
            Parser=boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::alnum,boost::spirit::char_encoding::standard>>>,boost::fusion::cons<boost::spirit::qi::eps_parser,boost::fusion::nil>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::nil>>>>,
            Auto=boost::mpl::false_,
            Functor=boost::spirit::qi::detail::parser_binder<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::alnum,boost::spirit::char_encoding::standard>>>,boost::fusion::cons<boost::spirit::qi::eps_parser,boost::fusion::nil>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::cons<boost::spirit::qi::expect<boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::cons<boost::spirit::qi::lexeme_directive<boost::spirit::qi::kleene<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::reference<boost::spirit::qi::symbols<const wchar_t,wchar_t>>,boost::fusion::cons<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard_wide>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard_wide,false,false>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::literal_string<const wchar_t (&)[2],true>,boost::fusion::nil>>>>,boost::fusion::nil>>>>,boost::mpl::false_>
        ]
        C:\Downloads\boost_1_52_0\boost/spirit/home/qi/nonterminal/rule.hpp(220) : コンパイルされたクラスの テンプレート のインスタンス化 'void boost::spirit::qi::rule<Iterator,T1>::define<boost::mpl::false_,Expr>(boost::spirit::qi::rule<Iterator,T1> &,const Expr &,boost::mpl::true_)' の参照を確認してください
        with
        [
            Iterator=std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            T1=std::wstring (void),
            Expr=boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::greater,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::unary_plus,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum,boost::spirit::char_encoding::standard>>,0> &>,1> &,const boost::spirit::terminal<boost::spirit::tag::eps> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::greater,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::greater,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::lit,boost::fusion::vector1<const wchar_t (&)[2]>>>,0> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::tag::lexeme>,0> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or,boost::proto::argsns_::list2<Gplusnasite::GooglePlusLibrary::JsonGrammar<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>>::javascript_escape_wchar_t_ &,boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus,boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::standard_wide::char_> ,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::standard_wide::char_,boost::fusion::vector1<const wchar_t (&)[2]>>>,0> &>,2> &>,2> &>,1> &>,2> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::lit,boost::fusion::vector1<const wchar_t (&)[2]>>>,0> &>,2> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::greater,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::greater,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::lit,boost::fusion::vector1<const wchar_t (&)[2]>>>,0> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::tag::lexeme>,0> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or,boost::proto::argsns_::list2<Gplusnasite::GooglePlusLibrary::JsonGrammar<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>>::javascript_escape_wchar_t_ &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus,boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::standard_wide::char_> ,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::standard_wide::char_,boost::fusion::vector1<const wchar_t (&)[2]>>>,0> &>,2> &>,2> &>,1> &>,2> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::lit,boost::fusion::vector1<const wchar_t (&)[2]>>>,0> &>,2> &>,2>
        ]
        C:\Downloads\Gplus\GooglePlusLibrary\Src\Json/JsonGrammar.hpp(78) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::spirit::qi::rule<Iterator,T1> &boost::spirit::qi::rule<Iterator,T1>::operator =<boost::proto::exprns_::expr<Tag,Args,Arity>>(const Expr &)' の参照を確認してください
        with
        [
            Iterator=std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,
            T1=std::wstring (void),
            Tag=boost::proto::tagns_::tag::bitwise_or,
            Args=boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::greater,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::unary_plus,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum,boost::spirit::char_encoding::standard>>,0> &>,1> &,const boost::spirit::terminal<boost::spirit::tag::eps> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::greater,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::greater,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::lit,boost::fusion::vector1<const wchar_t (&)[2]>>>,0> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::tag::lexeme>,0> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or,boost::proto::argsns_::list2<Gplusnasite::GooglePlusLibrary::JsonGrammar<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>>::javascript_escape_wchar_t_ &,boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus,boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::standard_wide::char_> ,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::standard_wide::char_,boost::fusion::vector1<const wchar_t (&)[2]>>>,0> &>,2> &>,2> &>,1> &>,2> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::lit,boost::fusion::vector1<const wchar_t (&)[2]>>>,0> &>,2> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::greater,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::greater,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::lit,boost::fusion::vector1<const wchar_t (&)[2]>>>,0> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::tag::lexeme>,0> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or,boost::proto::argsns_::list2<Gplusnasite::GooglePlusLibrary::JsonGrammar<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>>::javascript_escape_wchar_t_ &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus,boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::standard_wide::char_> ,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::standard_wide::char_,boost::fusion::vector1<const wchar_t (&)[2]>>>,0> &>,2> &>,2> &>,1> &>,2> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::lit,boost::fusion::vector1<const wchar_t (&)[2]>>>,0> &>,2> &>,
            Arity=2,
            Expr=boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::greater,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::unary_plus,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::tag::char_code<boost::spirit::tag::alnum,boost::spirit::char_encoding::standard>>,0> &>,1> &,const boost::spirit::terminal<boost::spirit::tag::eps> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::greater,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::greater,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::lit,boost::fusion::vector1<const wchar_t (&)[2]>>>,0> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::tag::lexeme>,0> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or,boost::proto::argsns_::list2<Gplusnasite::GooglePlusLibrary::JsonGrammar<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>>::javascript_escape_wchar_t_ &,boost::spirit::qi::rule<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::wstring (void)> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus,boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::standard_wide::char_> ,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::standard_wide::char_,boost::fusion::vector1<const wchar_t (&)[2]>>>,0> &>,2> &>,2> &>,1> &>,2> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::lit,boost::fusion::vector1<const wchar_t (&)[2]>>>,0> &>,2> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::greater,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::greater,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::lit,boost::fusion::vector1<const wchar_t (&)[2]>>>,0> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::tag::lexeme>,0> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::dereference,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::bitwise_or,boost::proto::argsns_::list2<Gplusnasite::GooglePlusLibrary::JsonGrammar<std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>>::javascript_escape_wchar_t_ &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::minus,boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::standard_wide::char_> ,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::standard_wide::char_,boost::fusion::vector1<const wchar_t (&)[2]>>>,0> &>,2> &>,2> &>,1> &>,2> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::terminal_ex<boost::spirit::tag::lit,boost::fusion::vector1<const wchar_t (&)[2]>>>,0> &>,2> &>,2>
        ]
        C:\Downloads\Gplus\GooglePlusLibrary\Src\Json/JsonGrammar.hpp(62): クラス テンプレート のメンバー関数 'Gplusnasite::GooglePlusLibrary::JsonGrammar<Iterator>::JsonGrammar(void)' のコンパイル中
        with
        [
            Iterator=std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>
        ]
        C:\Downloads\Gplus\GooglePlusLibrary\Src\Json\JsonParser.cpp(56) : コンパイルされたクラスの テンプレート のインスタンス化 'Gplusnasite::GooglePlusLibrary::JsonGrammar<Iterator>' の参照を確認してください
        with
        [
            Iterator=std::_String_const_iterator<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>
        ]
C:\Downloads\boost_1_52_0\boost/spirit/home/support/container.hpp(118) : fatal error C1903: 直前のエラーを修復できません。コンパイルを中止します。

もうね…。boost::pheonix::function とか、boost::proto とか絡みまくりでね…。どこで引っかかってるのか、さっぱりわかりませんわ。これでもね、問題を最小化した後なんですわ。JsonGrammar の template 引数に、Skipper として、boost::spirit::standard_wide::space_type を指定して、メンバの各ルールも qi::rule<Iterator, std::wstring(), boost::spirit::standard_wide::space_type> なんてやってたら、boost::sprit の FAQ
error C2664: 'bool boost::function4<R,T0,T1,T2,T3>::operator ()(T0,T1,T2,T3) const' : cannot convert parameter 4 from '...' to '...'
なんてエラーに引っかかたんですわ。
どんなソースをコンパイルしたら、こんなエラーになるか?つーとね…。下のコードですわ。 まぁ、下のコードも wstring_rule 中の utf_escape_rule を取り除けば大丈夫なんですけどね。
#pragma once

#ifdef GOOGLEPLUSJSON_NO_WARNINGS
#ifdef _MSC_VER
#pragma warning (disable:4819)
#endif
#endif

#include <Json/JsonObject.hpp>
#include <Json/JsonMember.hpp>

#include <boost/spirit/include/qi.hpp>
#include <boost/spirit/include/phoenix.hpp>
//#include <boost/regex/pending/unicode_iterator.hpp>


namespace Gplusnasite
{
namespace GooglePlusLibrary
{

namespace
{
  namespace qi = boost::spirit::qi;
  namespace spc = boost::spirit::standard_wide;
  namespace phoenix = boost::phoenix;

#define ON_QI_ERROR(tag) \
  qi::on_error<qi::fail>(tag, \
  std::cout << phoenix::val("Error Expecting ") \
  << qi::labels::_4 \
  << phoenix::val(" here: \"") \
  << phoenix::construct<std::string>(qi::labels::_3, qi::labels::_2) \
  << phoenix::val("\"") \
  << std::endl \
  )
}

namespace detail
{
  struct push_utf8 
  { 
     template <typename Scanner, typename CharT> 
     struct result { typedef void type; }; 

     void operator()(std::wstring& utf8, ::boost::uint32_t code_point) const 
     {
       std::back_insert_iterator<std::wstring> utf8_iter(utf8);
       //typedef std::back_insert_iterator<std::string> insert_iter; 
       //insert_iter out_iter(utf8); 
       //boost::utf8_output_iterator<insert_iter> utf8_iter(out_iter); 
       *utf8_iter++ = code_point; 
     }
  }; 
}

template <typename Iterator>
struct JsonGrammar : qi::grammar<Iterator, JsonObject()>
{
public:

  JsonGrammar() : JsonGrammar::base_type(expression,"expression")
  {
    //phoenix::function<detail::push_utf8>  push_utf8;
    //qi::uint_parser< ::boost::uint32_t, 16> hex16;

    //hex_escape_base = (L'u' >> hex16); //[push_utf8(qi::_r1, qi::_1)];
    //hex_escape_rule = hex_escape_base(qi::_val);

    utf_escape_rule = qi::lit(L"\\u") >> qi::hex; //hex_escape_rule;
    funny_escape_rule = qi::lit(L"\'u") >> qi::hex; //hex_escape_rule;

    wstring_rule = (
       +(qi::alnum) > qi::eps
    //  | (qi::lit(L"\"") > qi::lexeme[funny_escape_rule > *(funny_escape_wchar_t_rule | funny_escape_rule | (qi::standard_wide::char_ - qi::standard_wide::char_(L"\"")))] > qi::lit(L"\"")) 
      | (qi::lit(L"\"") > qi::lexeme[*(javascript_escape_wchar_t_rule | utf_escape_rule | (qi::standard_wide::char_ - qi::standard_wide::char_(L"\"")))] > qi::lit(L"\"")) 
      | (qi::lit(L"\'") > qi::lexeme[*(javascript_escape_wchar_t_rule /*| utf_escape_rule*/ | (qi::standard_wide::char_ - qi::standard_wide::char_(L"\'")))] > qi::lit(L"\'"))
    );
    
    json_wstring_rule = wstring_rule[qi::_val = phoenix::construct<JsonObject>(qi::_1)];

    int_rule = qi::int_[qi::_val = phoenix::construct<JsonObject>(qi::_1)];

    real_rule = qi::double_[qi::_val = phoenix::construct<JsonObject>(qi::_1)];

    bool_rule = bool_wchar_t_rule[qi::_val = phoenix::construct<JsonObject>(qi::_1)];

    null_rule = (qi::lit(L"null") | qi::eps);

    element_rule = (real_rule | int_rule | bool_rule | json_wstring_rule | array_rule | object_rule | null_rule);

    array_inner_rule = element_rule[phoenix::push_back(qi::_val, qi::_1)] > *(qi::lit(L",") > element_rule[phoenix::push_back(qi::_val, qi::_1)]);

    member_rule = (wstring_rule > qi::lit(L":") > element_rule)[qi::_val = phoenix::construct<JsonMember>(qi::_1,qi::_2)];

    object_inner_rule = member_rule[phoenix::push_back(qi::_val, qi::_1)] > *(qi::lit(L",") > member_rule[phoenix::push_back(qi::_val, qi::_1)]);

    object_rule = (qi::lit(L"{") > object_inner_rule > qi::lit(L"}"))[qi::_val = phoenix::construct<JsonObject>(qi::_1)] 
         | (qi::lit(L"{") > qi::lit(L"}"));  // Same as (-object_rule_inner)

    array_rule = (qi::lit(L"[") > array_inner_rule > qi::lit(L"]"))[qi::_val = phoenix::construct<JsonObject>(qi::_1)] 
           // Force to create zero length array. (Nor null_rule)
           | (qi::lit(L"[") > qi::lit(L"]"))[qi::_val = phoenix::construct<JsonObject>(zero_array)];
    
    json_rule = object_rule | array_rule;

    hex_rule = qi::hex;

    expression = qi::omit[hex_rule ^ qi::lit(L")]}'")] || json_rule;

    wstring_rule.name("wstring");
    int_rule.name("int");
    real_rule.name("real");
    bool_rule.name("bool");
    null_rule.name("null");
    element_rule.name("element");
    array_inner_rule.name("array_inner");
    member_rule.name("member");
    object_inner_rule.name("object_inner");
    object_rule.name("object");
    array_rule.name("array");

    ON_QI_ERROR(wstring_rule);
    ON_QI_ERROR(int_rule);
    ON_QI_ERROR(real_rule);
    ON_QI_ERROR(bool_rule);
    ON_QI_ERROR(null_rule);
    ON_QI_ERROR(element_rule);
    ON_QI_ERROR(array_inner_rule);
    ON_QI_ERROR(member_rule);
    ON_QI_ERROR(object_inner_rule);
    ON_QI_ERROR(object_rule);
  }
  
private:
  struct bool_wchar_t_ : qi::symbols<wchar_t const,bool>
  {
    bool_wchar_t_()
    {
      add
        (L"true" , true)
        (L"false", false)
    ;
    }
  } bool_wchar_t_rule;
  
  struct javascript_escape_wchar_t_ : qi::symbols<wchar_t const,wchar_t>
  {
    javascript_escape_wchar_t_()
    {
      add
        (L"\\b", '\b')
        (L"\\t", '\t')
        (L"\\v", '\v')
        (L"\\n", '\n')
        (L"\\r", '\r')
        (L"\\f", '\f')
        (L"\\\'", '\'')
        (L"\\\"", '\"')
        (L"\\\\", '\'')
        (L"\\0", '\0')
      ;
    }
  } javascript_escape_wchar_t_rule;

  struct funny_escape_wchar_t_ : qi::symbols<wchar_t const,wchar_t>
  {
    funny_escape_wchar_t_()
    {
      add
        (L"\'b", '\b')
        (L"\'t", '\t')
        (L"\'v", '\v')
        (L"\'n", '\n')
        (L"\'r", '\r')
        (L"\'f", '\f')
        (L"\'\'", '\'')
        (L"\'\"", '\"')
        (L"\'\\", '\'')
        (L"\'0", '\0')
      ;
    }
  } funny_escape_wchar_t_rule;

  //qi::rule<Iterator, void(std::wstring&)> hex_escape_base;
  //qi::rule<Iterator, std::wstring()> hex_escape_rule;
  qi::rule<Iterator, std::wstring()> utf_escape_rule;
  qi::rule<Iterator, std::wstring()> funny_escape_rule;
  qi::rule<Iterator, std::wstring()> wstring_rule;
  qi::rule<Iterator, std::wstring()> hex_rule;
  qi::rule<Iterator, JsonObject()> json_wstring_rule;
  qi::rule<Iterator, JsonObject()> int_rule;
  qi::rule<Iterator, JsonObject()> real_rule;
  qi::rule<Iterator, std::vector<JsonObject>()> array_inner_rule;
  qi::rule<Iterator, JsonObject()> array_rule;
  qi::rule<Iterator, JsonObject()> element_rule;
  qi::rule<Iterator, JsonMember()> member_rule;
  qi::rule<Iterator, std::vector<JsonMember>()> object_inner_rule;
  qi::rule<Iterator, JsonObject()> object_rule;
  qi::rule<Iterator, JsonObject()> bool_rule;
  qi::rule<Iterator, JsonObject()> null_rule;
  qi::rule<Iterator, JsonObject()> json_rule;
  qi::rule<Iterator, JsonObject()> expression;
  std::vector<JsonObject> zero_array;
};


}// namespace GooglePlusLibrary
}// namespace Gplusnasite
2013/02/10 追記:  結局 proto の問題だったような気がします。コンパイラが通らないから、外していた spc::space_type は、パースがうまく行かなくなるので戻しました。 現在、こんな感じに
#pragma once

#ifdef GOOGLEPLUSJSON_NO_WARNINGS
#ifdef _MSC_VER
#pragma warning (disable:4819)
#endif
#endif

#include <Json/JsonObject.hpp>
#include <Json/JsonMember.hpp>

#include <boost/spirit/include/qi.hpp>
#include <boost/spirit/include/phoenix.hpp>
//#include <boost/regex/pending/unicode_iterator.hpp>


namespace Gplusnasite
{
namespace GooglePlusLibrary
{

namespace
{
  namespace qi = boost::spirit::qi;
  namespace spc = boost::spirit::standard_wide;
  namespace phoenix = boost::phoenix;

#define ON_QI_ERROR(tag) \
  qi::on_error<qi::fail>(tag, \
  std::cout << phoenix::val("Error Expecting ") \
  << qi::labels::_4 \
  << phoenix::val(" here: \"") \
  << phoenix::construct<std::string>(qi::labels::_3, qi::labels::_2) \
  << phoenix::val("\"") \
  << std::endl \
  )
}

namespace detail
{
  struct push_utf8 
  { 
     template <typename Scanner, typename CharT> 
     struct result { typedef void type; }; 

     void operator()(std::wstring& utf8, ::boost::uint32_t code_point) const 
     {
       std::back_insert_iterator<std::wstring> utf8_iter(utf8);
       //typedef std::back_insert_iterator<std::string> insert_iter; 
       //insert_iter out_iter(utf8); 
       //boost::utf8_output_iterator<insert_iter> utf8_iter(out_iter); 
       *utf8_iter++ = code_point; 
     }
  }; 
}


#define UTF_ESCAPE_RULE    (qi::lit(L"\\u") > hex16)
#define FUNNY_ESCAPE_RULE  (qi::lit(L"\'u") > hex16)

template <typename Iterator>
struct JsonGrammar : qi::grammar<Iterator, JsonObject(), spc::space_type>
{
public:

  JsonGrammar() : JsonGrammar::base_type(expression,"expression")
  {
    //phoenix::function<detail::push_utf8>  push_utf8;
    qi::uint_parser<boost::uint16_t, 16> hex16;

    //hex_escape_base = (L'u' >> hex16)[push_utf8(qi::_r1, qi::_1)];
    //hex_escape_rule = hex_escape_base(qi::_val);

    //utf_escape_rule = qi::lit(L"\'u") > hex16;
    //funny_escape_rule = qi::lit(L"\'u") > hex16;

    wstring_rule = (
       +(qi::alnum) > qi::eps
      | (qi::lit(L"\"") >> qi::lexeme[FUNNY_ESCAPE_RULE > *(funny_escape_wchar_t_rule | FUNNY_ESCAPE_RULE | (qi::standard_wide::char_ - qi::standard_wide::char_(L"\"")))] > qi::lit(L"\""))
      | (qi::lit(L"\"") > qi::lexeme[*(javascript_escape_wchar_t_rule | UTF_ESCAPE_RULE | (qi::standard_wide::char_ - qi::standard_wide::char_(L"\"")))] > qi::lit(L"\"")) 
      | (qi::lit(L"\'") > qi::lexeme[*(javascript_escape_wchar_t_rule | UTF_ESCAPE_RULE | (qi::standard_wide::char_ - qi::standard_wide::char_(L"\'")))] > qi::lit(L"\'"))
    );
    
    json_wstring_rule = wstring_rule[qi::_val = phoenix::construct<JsonObject>(qi::_1)];

    int_rule = qi::int_[qi::_val = phoenix::construct<JsonObject>(qi::_1)];

    real_rule = qi::double_[qi::_val = phoenix::construct<JsonObject>(qi::_1)];

    bool_rule = bool_wchar_t_rule[qi::_val = phoenix::construct<JsonObject>(qi::_1)];

    null_rule = (qi::lit(L"null") | qi::eps);

    element_rule = (real_rule | int_rule | bool_rule | json_wstring_rule | array_rule | object_rule | null_rule);

    array_inner_rule = element_rule[phoenix::push_back(qi::_val, qi::_1)] > *(qi::lit(L",") > element_rule[phoenix::push_back(qi::_val, qi::_1)]);

    member_rule = (wstring_rule > qi::lit(L":") > element_rule)[qi::_val = phoenix::construct<JsonMember>(qi::_1,qi::_2)];

    object_inner_rule = member_rule[phoenix::push_back(qi::_val, qi::_1)] > *(qi::lit(L",") > member_rule[phoenix::push_back(qi::_val, qi::_1)]);

    object_rule = (qi::lit(L"{") > object_inner_rule > qi::lit(L"}"))[qi::_val = phoenix::construct<JsonObject>(qi::_1)] 
         | (qi::lit(L"{") > qi::lit(L"}"));  // Same as (-object_rule_inner)

    array_rule = (qi::lit(L"[") > array_inner_rule > qi::lit(L"]"))[qi::_val = phoenix::construct<JsonObject>(qi::_1)] 
           // Force to create zero length array. (Nor null_rule)
           | (qi::lit(L"[") > qi::lit(L"]"))[qi::_val = phoenix::construct<JsonObject>(zero_array)];
    
    json_rule = object_rule | array_rule;

    hex_rule = qi::hex;

    expression = qi::omit[hex_rule ^ qi::lit(L")]}'")] || json_rule;

    wstring_rule.name("wstring");
    int_rule.name("int");
    real_rule.name("real");
    bool_rule.name("bool");
    null_rule.name("null");
    element_rule.name("element");
    array_inner_rule.name("array_inner");
    member_rule.name("member");
    object_inner_rule.name("object_inner");
    object_rule.name("object");
    array_rule.name("array");

    ON_QI_ERROR(wstring_rule);
    ON_QI_ERROR(int_rule);
    ON_QI_ERROR(real_rule);
    ON_QI_ERROR(bool_rule);
    ON_QI_ERROR(null_rule);
    ON_QI_ERROR(element_rule);
    ON_QI_ERROR(array_inner_rule);
    ON_QI_ERROR(member_rule);
    ON_QI_ERROR(object_inner_rule);
    ON_QI_ERROR(object_rule);
  }
  
private:
  struct bool_wchar_t_ : qi::symbols<wchar_t const,bool>
  {
    bool_wchar_t_()
    {
      add
        (L"true" , true)
        (L"false", false)
    ;
    }
  } bool_wchar_t_rule;
  
  struct javascript_escape_wchar_t_ : qi::symbols<wchar_t const,wchar_t>
  {
    javascript_escape_wchar_t_()
    {
      add
        (L"\\b", '\b')
        (L"\  ", '  ')
        (L"\\v", '\v')
        (L"\\n", '\n')
        (L"\\r", '\r')
        (L"\\f", '\f')
        (L"\\\'", '\'')
        (L"\\\"", '\"')
        (L"\\\\", '\'')
        (L"\\0", '\0')
      ;
    }
  } javascript_escape_wchar_t_rule;

  struct funny_escape_wchar_t_ : qi::symbols<wchar_t const,wchar_t>
  {
    funny_escape_wchar_t_()
    {
      add
        (L"\'b", '\b')
        (L"\'t", '  ')
        (L"\'v", '\v')
        (L"\'n", '\n')
        (L"\'r", '\r')
        (L"\'f", '\f')
        (L"\'\'", '\'')
        (L"\'\"", '\"')
        (L"\'\\", '\'')
        (L"\'0", '\0')
      ;
    }
  } funny_escape_wchar_t_rule;

  //qi::rule<Iterator, void(std::wstring&), spc::space_type> hex_escape_base;
  //qi::rule<Iterator, std::wstring(), spc::space_type> hex_escape_rule;
  //qi::rule<Iterator, std::wstring(), spc::space_type> utf_escape_rule;
  //qi::rule<Iterator, std::wstring(), spc::space_type> funny_escape_rule;
  qi::rule<Iterator, std::wstring(), spc::space_type> wstring_rule;
  qi::rule<Iterator, std::wstring(), spc::space_type> hex_rule;
  qi::rule<Iterator, JsonObject(), spc::space_type> json_wstring_rule;
  qi::rule<Iterator, JsonObject(), spc::space_type> int_rule;
  qi::rule<Iterator, JsonObject(), spc::space_type> real_rule;
  qi::rule<Iterator, std::vector<JsonObject>(), spc::space_type>  array_inner_rule;
  qi::rule<Iterator, JsonObject(), spc::space_type> array_rule;
  qi::rule<Iterator, JsonObject(), spc::space_type> element_rule;
  qi::rule<Iterator, JsonMember(), spc::space_type> member_rule;
  qi::rule<Iterator, std::vector<JsonMember>(), spc::space_type> object_inner_rule;
  qi::rule<Iterator, JsonObject(), spc::space_type> object_rule;
  qi::rule<Iterator, JsonObject(), spc::space_type> bool_rule;
  qi::rule<Iterator, JsonObject(), spc::space_type> null_rule;
  qi::rule<Iterator, JsonObject(), spc::space_type> json_rule;
  qi::rule<Iterator, JsonObject(), spc::space_type> expression;
  std::vector<JsonObject> zero_array;
};


}// namespace GooglePlusLibrary
}// namespace Gplusnasite

2013年1月25日金曜日

ADT で nullptr nullptr 言うな

 はい、Android NDK における eclipse 環境の話です。

 規格に準拠した書き方しといた方がええだろうと思って、NULL と書かないで nullptr と書いたら、eclipse さんに「nullptr なんてしらねーよ」とか、「std::move なんて関数ありませんことよ!」という感じで、編集する度にエラーにされて、そいつらを手動で除去してやらないと、オチオチとコンパイルもできません。

 ググったら、結構、困っている人いるみたいなんで、すぐに修正されるような気もするんですが、なかなか修正されない。 修正マダァ?(・∀・ )っ/凵⌒☆チンチン
 という訳で、これを回避するためのADTの設定です。 ADT -> 環境設定 を開いて、不要なエラーチェックを無効にします。

2013年1月24日木曜日

PREPROCESSOR と enum

android ndk を使っていて ログを出力するかどうか、プリプロセッサで制御しとこうと思い
#include <boost/preprocessor/comparison/greater_equal.hpp>
#include <jni.h>
#include <android/log.h>

#define LOG_LEVEL  ANDROID_LOG_INFO

void hoge () {
# if BOOST_PP_GREATER_EQUAL(ANDROID_LOG_DEBUG,LOG_LEVEL)
    __android_log_print(ANDROID_LOG_DEBUG, "HOGE", "hoge");
# endif
  ...
}
なんてやったら、
記述 リソース パス ロケーション タイプ
missing binary operator before token "BOOST_PP_IIF_BOOST_PP_BOOL_ANDROID_LOG_INFO"
なんてエラーになったんですわ。ほぇ??? android/log.h を見たら
/*
 * Android log priority values, in ascending priority order.
 */
typedef enum android_LogPriority {
    ANDROID_LOG_UNKNOWN = 0,
    ANDROID_LOG_DEFAULT,    /* only for SetMinPriority() */
    ANDROID_LOG_VERBOSE,
    ANDROID_LOG_DEBUG,
    ANDROID_LOG_INFO,
    ANDROID_LOG_WARN,
    ANDROID_LOG_ERROR,
    ANDROID_LOG_FATAL,
    ANDROID_LOG_SILENT,     /* only for SetMinPriority(); must be last */
} android_LogPriority;
ははーん、enum は、あくまで enum なんで、プリプロセッサでは integer として展開されないんですね。 という訳で、
#define M_ANDROID_LOG_UNKNOWN 0
#define M_ANDROID_LOG_DEFAULT 1    /* only for SetMinPriority() */
#define M_ANDROID_LOG_VERBOSE 2
#define M_ANDROID_LOG_DEBUG   3
#define M_ANDROID_LOG_INFO    4
#define M_ANDROID_LOG_WARN    5
#define M_ANDROID_LOG_ERROR   6
#define M_ANDROID_LOG_FATAL   7
#define M_ANDROID_LOG_SILENT  8    /* only for SetMinPriority(); must be last */

#define LOG_LEVEL M_ANDROID_LOG_INFO

として、定数は、M_ 付きにしました。だっせー。 まぁ、template メタ関数にして回避しても良いんですけどね…

2013年1月8日火曜日

ADT 20.0.1 で PreCompilerBuilder が NullPointerException

android ndk ADT 20.0.1 にアップデートしたら、急にこんなエラーが起こってコンパイルできなくなったんですわ。
java.lang.NullPointerException
 at com.android.ide.eclipse.adt.internal.build.builders.PreCompilerBuilder.build(PreCompilerBuilder.java:673)
 at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
 at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
 at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
 at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
 at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
 at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
 at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
 at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351)
 at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374)
 at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
 at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
 at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
.svn が原因とか、いろいろ情報あるけど、自分の環境には当てはまらない。で、どのファイルを追加したら起こるか試しながらコンパイルしていると、
/src/nad/epsg
/src/nad/esri
...
等の proj4 で利用している拡張子が無いテキストファイルが原因でした。(Causes non extension files.) これらに .txt の拡張子有りにリネームすると問題解決。疲れた。

2013年1月3日木曜日

std::chrono と boost::posix_time::ptime

 boost::asio::io_service のキャンセル処理を考えていて、キャンセル・フラグでキャンセルしようと思っていたんですが、考えてみたらキャンセル・フラグを戻すタイミングも難しいよなーと気がつきました。  std::chrono ちょっと斜に構えた感じもするので、まずは boost::posix_time::ptime でキャンセル時刻を記録しておき、io_service::post した時刻と比較して、キャンセル時刻が新しければ、キャンセル処理を行うという風にしようと…。ところが ptime 秒単位なんで、処理が立て込んでいると、いつのキャンセルなんだか全くわからないという事態に…。  以下のコードの出力結果は、完全に環境依存なんでしょうけど、立て込んでいる状況(1秒間にキャンセルが2回以上ある状況)でキャンセル時刻で判断しようと思ったら、やっぱ chrono で処理するのが妥当なのかなぁと…。
#include <iostream>
#include <chrono>
#include <boost/date_time/posix_time/posix_time.hpp>

int main() {

  boost::posix_time::ptime pt = boost::posix_time::second_clock::local_time();
  std::cout << "hoge" << std::endl;
  boost::posix_time::ptime pt2 = boost::posix_time::second_clock::local_time();
  
  std::cout << pt << std::endl;
  std::cout << (pt2 - pt).total_milliseconds() << std::endl;
  
  auto tp = std::chrono::system_clock::now() ;
  std::cout << "hoge" << std::endl;
  auto tp2 = std::chrono::system_clock::now();
  std::cout << (tp2-tp).count() << std::endl;

  return 0;
}
mac 環境 gcc4.7 での実行結果
hoge
2013-Jan-03 16:17:06
0
hoge
2

2013年1月2日水曜日

boost::asio::io_service と cancel

なんか、以下のようなコードのコンパイルが通らなくて、???てなってたんですわ。
void foo( const boost::system::error_code& error ) {
  if( error ) {
    // キャンセル操作
  } else {
    // 通常操作
  }
}

int main() {
  boost::asio::io_service service;

  service.post( boost::bind( foo, boost::asio::placeholders::error ) );

  return 0;
}
えーっ?なんでー?と思ったら、そもそも boost::asio::io_service には、cancel 操作も無ければ、キューに溜め込んだ handler をクリアする仕組みも無いみたいで。stackoverflow には、こんなワークアラウンドが…
void clear( boost::asio::io_service& service )
{
    service.stop();
    service.~io_service();
    new( &service ) boost::asio::io_service;
}
見ての通り、プレスメント・コンストラクタ使って強引にクリアしてます。いや、まぁ、いいけど…。なんでキャンセルなりクリアなりの操作が無いんだろうか?ちょっと納得がいかない…。  こっちのんが、まだ抵抗感は少ないけど、同じですね。
  std::auto_ptr service( new boost::asio::io_service );

  ...
  service.reset( new boost::asio::io_service );
2013/1/3 追記: 結局キャンセル処理は、クラスメンバ関数を bind させて、クラスメンバのフラグで制御する事にしました。以下のような感じのコード
  class Foo {
  private:
    bool canceled_;
  private:
    void a_handler() {
      if( canceled_ ) {
        // キャンセル処理
      } else {
        // 通常処理
      }
    } 
 public:
    Foo() : canceled_(false) {}
  };

  ...

  Foo f;
  service.post( std::bind( &Foo::a_handler, &f ) );