Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по программированию на C/С++

Автор: akaGM
Дата сообщения: 16.06.2012 18:58
karakurt2
"никогда не возвращайся туда где был счастлив" -- тоже хороший лозунг :)

kotlomoy
ненадёжные у тебя соавторы...
Автор: MihaNix
Дата сообщения: 17.06.2012 11:13
Заметил интересную особенность при работе над курсовой работой.
Компилировал ее с использованием GCC, сборка 4.7.0.
Программка небольшая, консольная написанная на чистом С.
Заметил, что размер выходного файла получился 1 042 051 байт. Я глазам не поверил.

Решил проверить - в чем же проблемка заключается.
Написал стандартный hello world с включением библиотеки stdio.h - откомпилировал, результат 25 947байт.
Немного поигрался, писал функции различные, включал math.h - результат практически тот-же/
Затем прописал iostream, причем нигде ее функций не задействовал - и чудо то какое размер опять вырос до 1 038 197 байт.
Нехилый такой hello world
компилировал без каких либо параметров:
g++ hello.c -o hello.exe

Как такое возможно? Решение пожалуйста подскажите. Как получить файл минимального размера с использованием GCC?
Автор: cp58
Дата сообщения: 17.06.2012 12:00
MihaNix

Цитата:
Заметил, что размер выходного файла получился 1 042 051 байт.

Это могло произойти только по одной причине - статическое связывание стандартной библиотеки c++/c.
Подключение заголовочных файлов(stdio.h, iostream...) здесь ни при чем.

Компилятор первоначально пытается связать динамически, а при указании обратного статически. Но можно дать указание связывать динамически: "g++ -Wl,-Bdynamic -lstd++ -o hello.exe hello.cpp".

Сразу дополню выделенное, g++ это подмножество gcc, для компилирования c++ программ, поэтому правильнее использовать cc(c подмножество) для компилирования с программ или использовать gcc с опциями для c(стандартно) или для c++(с указанием опций).


Цитата:
Как получить файл минимального размера с использованием GCC?

Если не нужна стандартная библиотека c/c++, то так:
g++ -nostdlib -o hello.exe hello.cpp && strip hello.exe ~2000 байт. Можно еще удалить лишние секции и останется практически "голый" PE заголовок. Стандартная входная точка _start вместо main.
int _start(...)
{
}
В противном случае:
g++ -o hello.exe hello.cpp && strip hello.exe
Автор: akaGM
Дата сообщения: 17.06.2012 12:06
MihaNix
на первом этапе самое простое, -- это выкусить ненужную для работы информацию

strip.exe -o hello.exe hello_stripped.exe

-----
это хорошо, что я опоздал :)
Автор: MihaNix
Дата сообщения: 17.06.2012 16:48
cp58
Получилось только strip-ом и то размер сократился примерно на половину(до 519 168 байт).
"g++ -Wl,-Bdynamic -lstd++ -o hello.exe hello.cpp" - не проканал, потом только посмотрел, что lstdc нет.
"g++ -nostdlib -o hello.exe hello.cpp" - тоже кучу ошибок выдал.
попытался собрать... int _start()... пробовал как в GCC так и в VC - ничего не вышло
Причем только VC что-то вразумительное сказала: _start: должна возвращать значение (пробовал и с передачей значения - нифига)
cl.exe /c hello.cpp /Ox
Ну а gcc dsgktdsdftn hello.o при таком запуске - "g++ hello.cpp -o hello.o -c" а потом что с ним делать не пойму - тоже ошибочки выдаются при попытке exe-шник собрать.
Автор: ne_viens
Дата сообщения: 17.06.2012 17:26
Без stdlib необойтись, если нужны float, long long, __try __except, malloc и ешё много хороших вещей. Что то из них можно заменить системными API (malloc -> HeapAlloc), что то inline асмом, а чтото и вообще незменимо.
Если все условия есть, пишем (для VC):

#include <windows.h>
#pragma comment(linker, "/NODEFAULTLIB /ENTRY:main /SUBSYSTEM:WINDOWS /MERGE:.rdata=.text")

main()
{
//code here
ExitProcess(0);
}

Потом собираем:
cl /Ox /GF test.c kernel32.lib user32.lib advapi32.lib
Автор: akaGM
Дата сообщения: 17.06.2012 18:26
MihaNix
-lstdc++

а вообще, под винды меньше, чем делается strip'ом, не получится
если уж очень хочется, как вариант, использовать ехе-пакеры...
Автор: cp58
Дата сообщения: 17.06.2012 19:38
MihaNix

Цитата:
-lstd++

Мою опечатку уже поправили, конечно, -lstdc++.

Цитата:
"g++ -nostdlib -o hello.exe hello.cpp" - тоже кучу ошибок выдал.

Я написал "если не требуется", а кучу ошибок может выдать только в случае использования библиотеки.

Цитата:
попытался собрать... int _start()... пробовал как в GCC так и в VC - ничего не вышло

Это относится только к -nostdlib. main - входная точка для библиотеки c/c++.

Цитата:
если нужны float, long long, __try __except, malloc и ешё много хороших вещей.

При чем тут базовые типы вобще? malloc, конечно, входит в стандартную библиотеку c.
Автор: ne_viens
Дата сообщения: 18.06.2012 09:02
Операции над этими типами (_allmul(), _allrem(), _fltused(), etc) находятся в stdlib. Можно, конечно, слинковать с msvcrt.lib, но тогда к exe придётся прилагать C runtime, и идея малого исполняемого файла сведётся на нет.
Автор: akaGM
Дата сообщения: 18.06.2012 09:15
ne_viens
начальный вопрос задавался относительно гнуси...
Автор: karakurt2
Дата сообщения: 18.06.2012 10:53
В прошлом году написал процедуру с использованием библиотеки boost::spirit, которая преобразует строку в поток команд. Она хорошо работала в версии boost 1.47.0, а в новой версии 1.48.0 выдаётся куча ошибок. Можете подсказать, в чём проблема?

код:
[more]
Код: include <boost/config/warning_disable.hpp>
#include <boost/spirit/include/qi.hpp>
#include <boost/spirit/include/phoenix_core.hpp>
#include <boost/spirit/include/phoenix_operator.hpp>
#include <boost/spirit/include/phoenix_fusion.hpp>
#include <boost/spirit/include/phoenix_stl.hpp>
#include <boost/spirit/include/phoenix_object.hpp>
#include <boost/fusion/include/adapt_struct.hpp>
#include <boost/fusion/include/io.hpp>

#include <iostream>
#include <string>
#include <list>
#include <limits>
#include <valarray>
#include <sstream>

// температура 0 &#186;C
const double zero_degree_celsius = 273.15; // K

namespace client
{
    namespace fusion = boost::fusion;
    namespace phoenix = boost::phoenix;
    namespace qi = boost::spirit::qi;
    namespace standard = boost::spirit::standard;

    struct command
    {
        static const char* text_cast[];

        enum tag_type
        {
            INPUT,
            TEMPERATURE,
            RATE_COMMERCIAL,
            RATE_VOLUMETRIC,
            COMPRESSIBILITY,
            RELATIVE_DENSITY,
            ROTOR_OUTPUT,
            ROTOR_RPM,
            POLYTROPE,
            RATIO,
            NOMOGRAM,
            IMPELLER,
            COUNT,
            PLOT,
            Z_NORM,
            Z_BB,
            OUTPUT
        };

        tag_type tag;

        bool input;
        
        struct
        {
            double real;
            long data;
            std::string text;
        }
        value;
    };

    // текстовое представление команды
    const char* command::text_cast[] =
    {
        "INPUT",
        "TEMPERATURE",
        "RATE_COMMERCIAL",
        "RATE_VOLUMETRIC",
        "COMPRESSIBILITY",
        "RELATIVE_DENSITY",
        "ROTOR_OUTPUT",
        "ROTOR_RPM",
        "POLYTROPE",
        "RATIO",
        "NOMOGRAM",
        "IMPELLER",
        "COUNT",
        "PLOT",
        "Z_NORM",
        "Z_BB",
        "OUTPUT"
    };

    class command_stream: public std::list<command>
    {
    public:
        typedef std::list<command_stream> response_list;
        command* get_last_of(command::tag_type tag, bool input);
    };
}

BOOST_FUSION_ADAPT_STRUCT(
    client::command,
    (client::command::tag_type, tag)
    (bool, input)
    (double, value.real)
    (long, value.data)
    (std::string, value.text)
)

namespace client
{
    template <typename Iterator>
    struct command_grammar : qi::grammar<Iterator, command_stream(), standard::space_type>
    {
        command_grammar(): command_grammar::base_type(stream)
        {
            using qi::double_;
            using qi::phrase_parse;
            using qi::lexeme;
            using standard::space;
            using standard::char_;
            using qi::long_;
            using qi::lit;
            using qi::eps;
            using boost::spirit::qi::_1;
            using boost::phoenix::ref;
            using namespace qi::labels;
            using phoenix::at_c;
            using phoenix::push_back;

            input %= char_('p')[at_c<0>(_val) = command::INPUT][at_c<1>(_val) = false]
                >> (double_ [at_c<2>(_val) = _1][at_c<1>(_val) = true]
                || (lit("at") | lit("MPa")[at_c<2>(_val) *= 10.197162]));

            temperature %= char_('T')[at_c<0>(_val) = command::TEMPERATURE][at_c<1>(_val) = false]
                || double_ [at_c<2>(_val) = _1][at_c<1>(_val) = true]
                || (lit("degC") | lit("degK")[at_c<2>(_val) -= zero_degree_celsius]);

            rate_commercial %= char_('Q')[at_c<0>(_val) = command::RATE_COMMERCIAL][at_c<1>(_val) = false]
                || double_ [at_c<2>(_val) = _1][at_c<1>(_val) = true];

            rate_volumetric %= char_('q')[at_c<0>(_val) = command::RATE_VOLUMETRIC][at_c<1>(_val) = false]
                || double_ [at_c<2>(_val) = _1][at_c<1>(_val) = true];

            compressibility %= char_('Z')[at_c<0>(_val) = command::COMPRESSIBILITY][at_c<1>(_val) = false]
                || double_ [at_c<2>(_val) = _1][at_c<1>(_val) = true];

            relative_density %= char_('g') >> double_
                [at_c<0>(_val) = command::RELATIVE_DENSITY][at_c<2>(_val) = _1][at_c<1>(_val) = true];

            rotor_output %= char_('N')[at_c<0>(_val) = command::ROTOR_OUTPUT][at_c<1>(_val) = false]
                || double_ [at_c<2>(_val) = _1][at_c<1>(_val) = true];

            rotor_rpm %= char_('n')[at_c<0>(_val) = command::ROTOR_RPM][at_c<1>(_val) = false]
                || double_ [at_c<2>(_val) = _1][at_c<1>(_val) = true];

            polytrope %= lit("polytrope")[at_c<0>(_val) = command::POLYTROPE][at_c<1>(_val) = false];

            ratio %= lit("ratio")[at_c<0>(_val) = command::RATIO][at_c<1>(_val) = false]
                || double_ [at_c<2>(_val) = _1][at_c<1>(_val) = true];

            nomogram %= lit("nomogram")[at_c<0>(_val) = command::NOMOGRAM][at_c<1>(_val) = false]
                || long_ [at_c<3>(_val) = _1][at_c<1>(_val) = true];
            
            quoted_string %= lexeme['"' >> +(char_ - '"') >> '"'];

            impeller %= lit("impeller")[at_c<0>(_val) = command::IMPELLER][at_c<1>(_val) = false]
                || quoted_string[at_c<4>(_val) = _1][at_c<1>(_val) = true];
            
            working %= lit("count")[at_c<0>(_val) = command::COUNT][at_c<1>(_val) = false];

            plot %= lit("plot")[at_c<0>(_val) = command::PLOT][at_c<1>(_val) = false]
                >> quoted_string[at_c<4>(_val) = _1][at_c<1>(_val) = true];

            output %= char_('P')[at_c<0>(_val) = command::OUTPUT][at_c<1>(_val) = false]
                || double_ [at_c<2>(_val) = _1][at_c<1>(_val) = true]
                || (lit("at") | lit("MPa")[at_c<2>(_val) *= 10.197162]);

            z_norm %= lit("Z_NORM")
                [at_c<0>(_val) = command::Z_NORM]
                [at_c<1>(_val) = false];

            z_bb %= lit("Z_BB")
                [at_c<0>(_val) = command::Z_BB]
                [at_c<1>(_val) = false];

            stream = *(plot | working | impeller | nomogram | z_norm | z_bb | input
                | temperature | rate_commercial | rate_volumetric
                | compressibility | relative_density | rotor_output
                | rotor_rpm | polytrope | ratio | output)
                [push_back(_val, _1)];
        }

        qi::rule<Iterator, std::string(), standard::space_type> quoted_string;
        // 1. входное давление (I)
        qi::rule<Iterator, command(), standard::space_type> input;
        // 2. температура (I/O)
        qi::rule<Iterator, command(), standard::space_type> temperature;
        // 3. коммерческая производительность (I/O)
        qi::rule<Iterator, command(), standard::space_type> rate_commercial;
        // 4. объёмная производительность (I/O)
        qi::rule<Iterator, command(), standard::space_type> rate_volumetric;
        // 5. коэффициент сверхсжимаемости (I/O)
        qi::rule<Iterator, command(), standard::space_type> compressibility;
        // 6. относительная плотность по воздуху газовой смеси (I)
        qi::rule<Iterator, command(), standard::space_type> relative_density;
        // 7. мощность на валу ротора (I/O)
        qi::rule<Iterator, command(), standard::space_type> rotor_output;
        // 8. число оборотов компрессора (I/O)
        qi::rule<Iterator, command(), standard::space_type> rotor_rpm;
        // 9. политропический коэффициент (O)
        qi::rule<Iterator, command(), standard::space_type> polytrope;
        // 10. степень сжатия (I/O)
        qi::rule<Iterator, command(), standard::space_type> ratio;
        // 11. индекс номограммы в базе данных (I/O)
        qi::rule<Iterator, command(), standard::space_type> nomogram;
        // 12. наименование ГПА в таблице aggregate (I/O)
        qi::rule<Iterator, command(), standard::space_type> impeller;
        // 13. количество одновременно работающих ГПА (O)
        qi::rule<Iterator, command(), standard::space_type> working;
        // 14. имя файла с для вывода графических команд (I)
        qi::rule<Iterator, command(), standard::space_type> plot;
        // 15. вычисление коэффициента сверхсжимаемости по ОНТП 51-1-85 (O)
        qi::rule<Iterator, command(), standard::space_type> z_norm;
        // 16. вычисление коэффициента сверхсжимаемости по корелляции Brill-Beggs (O)
        qi::rule<Iterator, command(), standard::space_type> z_bb;
        // 17. выходное давление (I/O)
        qi::rule<Iterator, command(), standard::space_type> output;
        // поток команд
        qi::rule<Iterator, command_stream(), standard::space_type> stream;
    };

    command* command_stream::get_last_of(client::command::tag_type tag, bool input)
    {
        for (reverse_iterator it = rbegin(); it != rend(); ++it)
        {
            if (it->input == input && it->tag == tag)
            {
                return &(*it);
            }
        }
        return ((command*) 0);
    }
}


bool parse_command(std::string str)
{
    typedef client::command_grammar<std::string::const_iterator> command_grammar;

    command_grammar g;
    client::command_stream input;

    using boost::spirit::standard::space;
    std::string::const_iterator it = str.begin();
    std::string::const_iterator end = str.end();
    bool result = phrase_parse(it, end, g, space, input);
    if (!result || it != end)
    {
        std::cerr << str << ": FAILED\n";
        return true;
    }
    else
    {
        std::cout << str << ": OK\n";
    }
    return false;
}
int main(int argc, char** argv)
{
    parse_command(std::string(argv[1]));
    return 0;
}
Автор: MihaNix
Дата сообщения: 18.06.2012 16:13
Спасибо за советы.
Никакой из способов правда сильно не помог
Попытаюсь еще с точкой входа _start поиграть - не компилится никак у меня такой исходник уже по разному извращался, линкер обламывается...
Можно еще hex редактором, типа hiew-а поработать - попробовал, после нескольких проб и ошибок вырезал приличные куски с сохранением работоспособности программы.

Возник еще один вопрос по G++ с ключом -S выдет асемблерный код, как я понял. Так вот можно ли этот код загнать в nasm, чтобы получить рабочий exe-шник?
Автор: akaGM
Дата сообщения: 18.06.2012 16:20
MihaNix

Цитата:
Попытаюсь еще с точкой входа _start поиграть - не компилится никак у меня такой исходник уже по разному извращался, линкер обламывается...
надеюсь, что все эти извращения под линуксом происходят?


Цитата:
Так вот можно ли этот код загнать в nasm, чтобы получить рабочий exe-шник?

я не знаю nasm, но можно :)
после допиливания ручками можно загнать в любой ассемблер, и, слинковав с rtl-библиотеками, получить рабочий экзюк...

а зачем тебе это?
Автор: cp58
Дата сообщения: 18.06.2012 16:54
ne_viens

Цитата:
Операции над этими типами (_allmul(), _allrem(), _fltused(), etc) находятся в stdlib.

Но float здесь при чем? "C" без проблем сгенерирует код для сопроцессора, без каких либо stdlib.
akaGM

Цитата:
начальный вопрос задавался относительно гнуси...

Насколько я помню MinGW использует C бибилотеку от microsoft, то есть msvcrt, а C++ своя.
karakurt2
Ошибки бы сюда, так как вряд ли проблема с совместимостью.
MihaNix

Цитата:
Попытаюсь еще с точкой входа _start поиграть - не компилится никак у меня такой исходник уже по разному извращался, линкер обламывается...

Вы уверены что c/c++ библиотеки не требуются? Это любая функция вроде printf/scanf.

Цитата:
Возник еще один вопрос по G++ с ключом -S выдет асемблерный код, как я понял. Так вот можно ли этот код загнать в nasm, чтобы получить рабочий exe-шник?

GCC генерирует код с AT&T синтаксисом, а nasm работает с intel синтаксисом. Надо или использовать VC от Microsoft и выставить подобный ключ или использовать GAS(GNU Assembler), который входит в GCC.
Можно просто через gcc - gcc -o some.exe source.S
akaGM

Цитата:
надеюсь, что все эти извращения под линуксом происходят?

А разница?
Автор: karakurt2
Дата сообщения: 18.06.2012 17:09
[more=ошибки]
Код: z1.cpp
D:\pkg\boost_1_49_0\boost/spirit/home/qi/detail/assign_to.hpp(123) : error C2440: 'static_cast' : cannot convert from 'const attr_type' to 'client::command::tag_type'
Conversions between enumeration and floating point values are no longer allowed
D:\pkg\boost_1_49_0\boost/spirit/home/qi/detail/assign_to.hpp(141) : see reference to function template instantiation 'void boost::spirit::traits::assign_to_attribute_from_value<Attribute,T>::call<T>(const T_ &,Attribute &,boost::mpl::false_)' being compiled
with
[
Attribute=client::command::tag_type,
T=attr_type,
T_=attr_type
]
D:\pkg\boost_1_49_0\boost/spirit/home/qi/detail/assign_to.hpp(140) : while compiling class template member function 'void boost::spirit::traits::assign_to_attribute_from_value<Attribute,T>::call(const T &,Attribute &)'
with
[
Attribute=client::command::tag_type,
T=attr_type
]
D:\pkg\boost_1_49_0\boost/spirit/home/qi/detail/assign_to.hpp(330) : see reference to class template instantiation 'boost::spirit::traits::assign_to_attribute_from_value<Attribute,T>' being compiled
with
[
Attribute=client::command::tag_type,
T=attr_type
]
D:\pkg\boost_1_49_0\boost/spirit/home/qi/detail/assign_to.hpp(353) : see reference to function template instantiation 'void boost::spirit::traits::detail::assign_to<T,Attribute>(const T &,Attribute &,boost::mpl::false_)' being compiled
with
[
T=attr_type,
Attribute=client::command::tag_type
]
D:\pkg\boost_1_49_0\boost/spirit/home/qi/detail/attributes.hpp(27) : see reference to function template instantiation 'void boost::spirit::traits::assign_to<Transformed,Exposed>(const T &,Attribute &)' being compiled
with
[
Transformed=attr_type,
Exposed=client::command::tag_type,
T=attr_type,
Attribute=client::command::tag_type
]
D:\pkg\boost_1_49_0\boost/spirit/home/qi/detail/attributes.hpp(26) : while compiling class template member function 'void boost::spirit::qi::default_transform_attribute<Exposed,Transformed>::post(Exposed &,const Transformed &)'
with
[
Exposed=client::command::tag_type,
Transformed=attr_type
]
D:\pkg\boost_1_49_0\boost/spirit/home/qi/detail/attributes.hpp(77) : see reference to class template instantiation 'boost::spirit::qi::default_transform_attribute<Exposed,Transformed>' being compiled
with
[
Exposed=client::command::tag_type,
Transformed=attr_type
]
D:\pkg\boost_1_49_0\boost/spirit/home/qi/detail/attributes.hpp(149) : see reference to class template instantiation 'boost::spirit::qi::transform_attribute<Exposed,Transformed>' being compiled
with
[
Exposed=client::command::tag_type,
Transformed=attr_type
]
D:\pkg\boost_1_49_0\boost/spirit/home/qi/detail/attributes.hpp(154) : see reference to class template instantiation 'boost::spirit::traits::transform_attribute<Exposed,Transformed,Domain>' being compiled
with
[
Exposed=client::command::tag_type,
Transformed=attr_type,
Domain=boost::spirit::qi::domain
]
D:\pkg\boost_1_49_0\boost/spirit/home/qi/action/action.hpp(62) : see reference to class template instantiation 'boost::spirit::traits::transform_attribute<Exposed,Transformed,Domain>' being compiled
with
[
Exposed=client::command::tag_type &,
Transformed=attr_type,
Domain=boost::spirit::qi::parser<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::any_real_parser<double,boost::spirit::qi::real_policies<double>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>>::domain
]
D:\pkg\boost_1_49_0\boost/spirit/home/qi/detail/pass_function.hpp(36) : see reference to function template instantiation 'bool boost::spirit::qi::action<Subject,Action>::parse<Iterator,Context,Skipper,Attribute>(Iterator &,const Iterator &,Context &,const Skipper &,Attribute &) const' being compiled
with
[
Subject=boost::spirit::qi::action<boost::spirit::qi::any_real_parser<double,boost::spirit::qi::real_policies<double>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,
Action=boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>,
Iterator=std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>,
Context=boost::spirit::context<boost::fusion::cons<client::command &,boost::fusion::nil>,boost::fusion::vector0<>>,
Skipper=boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space,boost::spirit::char_encoding::standard>>,
Attribute=client::command::tag_type
]
D:\pkg\boost_1_49_0\boost/spirit/home/support/algorithm/any_if_ns.hpp(51) : see reference to function template instantiation 'bool boost::spirit::qi::detail::pass_function<Iterator,Context,Skipper>::operator ()<const T,client::command::tag_type>(const Component &,Attribute &)' being compiled
with
[
Iterator=std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>,
Context=boost::spirit::context<boost::fusion::cons<client::command &,boost::fusion::nil>,boost::fusion::vector0<>>,
Skipper=boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space,boost::spirit::char_encoding::standard>>,
T=const boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::any_real_parser<double,boost::spirit::qi::real_policies<double>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,
Component=const boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::any_real_parser<double,boost::spirit::qi::real_policies<double>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,
Attribute=client::command::tag_type
]
D:\pkg\boost_1_49_0\boost/spirit/home/support/algorithm/any_if_ns.hpp(58) : see reference to function template instantiation 'bool boost::spirit::detail::any_if_ns<Pred,boost::fusion::cons_iterator<Cons>,Last1,boost::fusion::basic_iterator<Tag,Category,Seq,Index>,Last2,F>(const First1 &,const First2 &,const Last1 &,const Last2 &,F &,boost::mpl::false_)' being compiled
with
[
Pred=boost::spirit::traits::attribute_not_unused<boost::spirit::context<boost::fusion::cons<client::command &,boost::fusion::nil>,boost::fusion::vector0<>>,std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>>,
Cons=const boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::any_real_parser<double,boost::spirit::qi::real_policies<double>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::nil>,
Last1=boost::fusion::cons_iterator<const boost::fusion::nil>,
Tag=boost::fusion::struct_iterator_tag,
Category=boost::fusion::random_access_traversal_tag,
Seq=client::command,
Index=0,
Last2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,boost::fusion::random_access_traversal_tag,client::command,5>,
F=boost::spirit::qi::detail::pass_function<std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>,boost::spirit::context<boost::fusion::cons<client::command &,boost::fusion::nil>,boost::fusion::vector0<>>,boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space,boost::spirit::char_encoding::standard>>>,
First1=boost::fusion::cons_iterator<const boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::any_real_parser<double,boost::spirit::qi::real_policies<double>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::nil>>,
First2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,boost::fusion::random_access_traversal_tag,client::command,0>
]
D:\pkg\boost_1_49_0\boost/spirit/home/support/algorithm/any_if_ns.hpp(72) : see reference to function template instantiation 'bool boost::spirit::detail::any_if_ns<Pred,boost::fusion::cons_iterator<Cons>,boost::fusion::cons_iterator<const boost::fusion::nil>,boost::fusion::basic_iterator<Tag,Category,Seq,Index>,boost::fusion::basic_iterator<Tag,Category,Seq,5>,F>(const First1 &,const First2 &,const Last1 &,const Last2 &,F &,boost::mpl::false_)' being compiled
with
[
Pred=boost::spirit::traits::attribute_not_unused<boost::spirit::context<boost::fusion::cons<client::command &,boost::fusion::nil>,boost::fusion::vector0<>>,std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>>,
Cons=const boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::literal_string<const char (&)[6],true>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<0>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<client::command::tag_type>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::any_real_parser<double,boost::spirit::qi::real_policies<double>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::nil>>,
Tag=boost::fusion::struct_iterator_tag,
Category=boost::fusion::random_access_traversal_tag,
Seq=client::command,
Index=0,
F=boost::spirit::qi::detail::pass_function<std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>,boost::spirit::context<boost::fusion::cons<client::command &,boost::fusion::nil>,boost::fusion::vector0<>>,boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space,boost::spirit::char_encoding::standard>>>,
First1=boost::fusion::cons_iterator<const boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::literal_string<const char (&)[6],true>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<0>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<client::command::tag_type>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::any_real_parser<double,boost::spirit::qi::real_policies<double>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::nil>>>,
First2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,boost::fusion::random_access_traversal_tag,client::command,0>,
Last1=boost::fusion::cons_iterator<const boost::fusion::nil>,
Last2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,boost::fusion::random_access_traversal_tag,client::command,5>
]
D:\pkg\boost_1_49_0\boost/spirit/home/qi/operator/sequential_or.hpp(79) : see reference to function template instantiation 'bool boost::spirit::any_if_ns<boost::spirit::traits::attribute_not_unused<Context,Iterator>,Elements,Attribute,boost::spirit::qi::detail::pass_function<Iterator,Context,Skipper>>(const Sequence1 &,Sequence2 &,F,Pred)' being compiled
with
[
Context=boost::spirit::context<boost::fusion::cons<client::command &,boost::fusion::nil>,boost::fusion::vector0<>>,
Iterator=std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>,
Elements=boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::literal_string<const char (&)[6],true>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<0>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<client::command::tag_type>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::any_real_parser<double,boost::spirit::qi::real_policies<double>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::nil>>,
Attribute=client::command,
Skipper=boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space,boost::spirit::char_encoding::standard>>,
Sequence1=boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::literal_string<const char (&)[6],true>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<0>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<client::command::tag_type>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::any_real_parser<double,boost::spirit::qi::real_policies<double>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::nil>>,
Sequence2=client::command,
F=boost::spirit::qi::detail::pass_function<std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>,boost::spirit::context<boost::fusion::cons<client::command &,boost::fusion::nil>,boost::fusion::vector0<>>,boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space,boost::spirit::char_encoding::standard>>>,
Pred=boost::spirit::traits::attribute_not_unused<boost::spirit::context<boost::fusion::cons<client::command &,boost::fusion::nil>,boost::fusion::vector0<>>,std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>>
]
D:\pkg\boost_1_49_0\boost/spirit/home/qi/nonterminal/detail/parser_binder.hpp(73) : see reference to function template instantiation 'bool boost::spirit::qi::sequential_or<Elements>::parse<Iterator,Context,Skipper,T>(Iterator &,const Iterator &,Context &,const Skipper &,Attribute &) const' being compiled
with
[
Elements=boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::literal_string<const char (&)[6],true>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<0>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<client::command::tag_type>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::any_real_parser<double,boost::spirit::qi::real_policies<double>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::nil>>,
Iterator=std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>,
Context=boost::spirit::context<boost::fusion::cons<client::command &,boost::fusion::nil>,boost::fusion::vector0<>>,
Skipper=boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space,boost::spirit::char_encoding::standard>>,
T=client::command,
Attribute=client::command
]
D:\pkg\boost_1_49_0\boost/function/function_template.hpp(132) : see reference to function template instantiation 'bool boost::spirit::qi::detail::parser_binder<Parser,Auto>::operator ()<Iterator,boost::spirit::qi::char_class<Tag>,boost::spirit::context<Attributes,Locals>>(Iterator &,const Iterator &,Context &,const Skipper &) const' being compiled
with
[
Parser=boost::spirit::qi::sequential_or<boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::literal_string<const char (&)[6],true>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<0>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<client::command::tag_type>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::any_real_parser<double,boost::spirit::qi::real_policies<double>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::nil>>>,
Auto=boost::mpl::true_,
Iterator=std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>,
Tag=boost::spirit::tag::char_code<boost::spirit::tag::space,boost::spirit::char_encoding::standard>,
Attributes=boost::fusion::cons<client::command &,boost::fusion::nil>,
Locals=boost::fusion::vector0<>,
Context=boost::spirit::context<boost::fusion::cons<client::command &,boost::fusion::nil>,boost::fusion::vector0<>>,
Skipper=boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space,boost::spirit::char_encoding::standard>>
]
D:\pkg\boost_1_49_0\boost/function/function_template.hpp(126) : while compiling class template member function '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::sequential_or<boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::literal_string<const char (&)[6],true>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<0>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<client::command::tag_type>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::any_real_parser<double,boost::spirit::qi::real_policies<double>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::nil>>>,boost::mpl::true_>,
R=bool,
T0=std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>> &,
T1=const std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>> &,
T2=boost::spirit::context<boost::fusion::cons<client::command &,boost::fusion::nil>,boost::fusion::vector0<>> &,
T3=const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space,boost::spirit::char_encoding::standard>> &
]
D:\pkg\boost_1_49_0\boost/function/function_template.hpp(907) : see reference to class template instantiation 'boost::detail::function::function_obj_invoker4<FunctionObj,R,T0,T1,T2,T3>' being compiled
with
[
FunctionObj=boost::spirit::qi::detail::parser_binder<boost::spirit::qi::sequential_or<boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::literal_string<const char (&)[6],true>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<0>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<client::command::tag_type>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::any_real_parser<double,boost::spirit::qi::real_policies<double>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::nil>>>,boost::mpl::true_>,
R=bool,
T0=std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>> &,
T1=const std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>> &,
T2=boost::spirit::context<boost::fusion::cons<client::command &,boost::fusion::nil>,boost::fusion::vector0<>> &,
T3=const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space,boost::spirit::char_encoding::standard>> &
]
D:\pkg\boost_1_49_0\boost/function/function_template.hpp(722) : see reference to function template instantiation 'void boost::function4<R,T0,T1,T2,T3>::assign_to<Functor>(Functor)' being compiled
with
[
R=bool,
T0=std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>> &,
T1=const std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>> &,
T2=boost::spirit::context<boost::fusion::cons<client::command &,boost::fusion::nil>,boost::fusion::vector0<>> &,
T3=const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space,boost::spirit::char_encoding::standard>> &,
Functor=boost::spirit::qi::detail::parser_binder<boost::spirit::qi::sequential_or<boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::literal_string<const char (&)[6],true>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<0>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<client::command::tag_type>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::any_real_parser<double,boost::spirit::qi::real_policies<double>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::nil>>>,boost::mpl::true_>
]
D:\pkg\boost_1_49_0\boost/function/function_template.hpp(1043) : see reference to function template instantiation 'boost::function4<R,T0,T1,T2,T3>::function4<boost::spirit::qi::detail::parser_binder<Parser,Auto>>(Functor,int)' being compiled
with
[
R=bool,
T0=std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>> &,
T1=const std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>> &,
T2=boost::spirit::context<boost::fusion::cons<client::command &,boost::fusion::nil>,boost::fusion::vector0<>> &,
T3=const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space,boost::spirit::char_encoding::standard>> &,
Parser=boost::spirit::qi::sequential_or<boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::literal_string<const char (&)[6],true>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<0>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<client::command::tag_type>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::any_real_parser<double,boost::spirit::qi::real_policies<double>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::nil>>>,
Auto=boost::mpl::true_,
Functor=boost::spirit::qi::detail::parser_binder<boost::spirit::qi::sequential_or<boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::literal_string<const char (&)[6],true>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<0>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<client::command::tag_type>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::any_real_parser<double,boost::spirit::qi::real_policies<double>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::nil>>>,boost::mpl::true_>
]
D:\pkg\boost_1_49_0\boost/function/function_template.hpp(1083) : see reference to function template instantiation 'boost::function<Signature>::function<boost::spirit::qi::detail::parser_binder<Parser,Auto>>(Functor,int)' being compiled
with
[
Signature=bool (std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>> &,const std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>> &,boost::spirit::context<boost::fusion::cons<client::command &,boost::fusion::nil>,boost::fusion::vector0<>> &,const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space,boost::spirit::char_encoding::standard>> &),
Parser=boost::spirit::qi::sequential_or<boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::literal_string<const char (&)[6],true>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<0>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<client::command::tag_type>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::any_real_parser<double,boost::spirit::qi::real_policies<double>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::nil>>>,
Auto=boost::mpl::true_,
Functor=boost::spirit::qi::detail::parser_binder<boost::spirit::qi::sequential_or<boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::literal_string<const char (&)[6],true>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<0>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<client::command::tag_type>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::any_real_parser<double,boost::spirit::qi::real_policies<double>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::nil>>>,boost::mpl::true_>
]
D:\pkg\boost_1_49_0\boost/spirit/home/qi/nonterminal/rule.hpp(183) : see reference to function template instantiation 'boost::function<Signature> &boost::function<Signature>::operator =<boost::spirit::qi::detail::parser_binder<Parser,Auto>>(Functor)' being compiled
with
[
Signature=bool (std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>> &,const std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>> &,boost::spirit::context<boost::fusion::cons<client::command &,boost::fusion::nil>,boost::fusion::vector0<>> &,const boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::space,boost::spirit::char_encoding::standard>> &),
Parser=boost::spirit::qi::sequential_or<boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::literal_string<const char (&)[6],true>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<0>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<client::command::tag_type>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::any_real_parser<double,boost::spirit::qi::real_policies<double>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::nil>>>,
Auto=boost::mpl::true_,
Functor=boost::spirit::qi::detail::parser_binder<boost::spirit::qi::sequential_or<boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::literal_string<const char (&)[6],true>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<0>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<client::command::tag_type>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::cons<boost::spirit::qi::action<boost::spirit::qi::action<boost::spirit::qi::any_real_parser<double,boost::spirit::qi::real_policies<double>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>>>,boost::fusion::nil>>>,boost::mpl::true_>
]
D:\pkg\boost_1_49_0\boost/spirit/home/qi/nonterminal/rule.hpp(230) : see reference to function template instantiation 'void boost::spirit::qi::rule<Iterator,T1,T2>::define<boost::mpl::true_,Expr>(boost::spirit::qi::rule<Iterator,T1,T2> &,const Expr &,boost::mpl::true_)' being compiled
with
[
Iterator=std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>,
T1=client::command (void),
T2=boost::spirit::standard::space_type,
Expr=boost::proto::exprns_::expr<boost::proto::tagns_::tag::logical_or,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript,boost::proto::argsns_::list2<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 char (&)[6]>>>,0> &,boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<0>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<client::command::tag_type>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>> &>,0>>,2> &,boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>> &>,0>>,2> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript,boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::double_> &,boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>> &>,0>>,2> &,boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>> &>,0>>,2> &>,2>
]
z1.cpp(155) : see reference to function template instantiation 'boost::spirit::qi::rule<Iterator,T1,T2> &boost::spirit::qi::operator %=<boost::proto::exprns_::expr<Tag,Args,Arity>>(boost::spirit::qi::rule<Iterator,T1,T2> &,const Expr &)' being compiled
with
[
Iterator=std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>,
T1=client::command (void),
T2=boost::spirit::standard::space_type,
Tag=boost::proto::tagns_::tag::logical_or,
Args=boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript,boost::proto::argsns_::list2<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 char (&)[6]>>>,0> &,boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<0>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<client::command::tag_type>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>> &>,0>>,2> &,boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>> &>,0>>,2> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript,boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::double_> &,boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>> &>,0>>,2> &,boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>> &>,0>>,2> &>,
Arity=2,
Expr=boost::proto::exprns_::expr<boost::proto::tagns_::tag::logical_or,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript,boost::proto::argsns_::list2<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 char (&)[6]>>>,0> &,boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<0>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<client::command::tag_type>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>> &>,0>>,2> &,boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>> &>,0>>,2> &,const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tagns_::tag::subscript,boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::double_> &,boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<2>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::spirit::argument<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>> &>,0>>,2> &,boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<const boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::assign_eval,boost::fusion::vector<boost::phoenix::composite<boost::phoenix::at_eval<1>,boost::fusion::vector<boost::spirit::attribute<0>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>,boost::phoenix::value<bool>,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>>> &>,0>>,2> &>,2>
]
z1.cpp(110) : while compiling class template member function 'client::command_grammar<Iterator>::command_grammar(void)'
with
[
Iterator=std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>
]
z1.cpp(246) : see reference to class template instantiation 'client::command_grammar<Iterator>' being compiled
with
[
Iterator=std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>
]

Автор: akaGM
Дата сообщения: 18.06.2012 17:30
cp58

Цитата:
А разница?

я не знал, что mingw использует ms crt...

MihaNix
ну на МС тогда вот так попробуй:
cl hello.c /link /entry:"_start"

а для гнуси
gcc -s hello.c -o hello.exe
Автор: akaGM
Дата сообщения: 19.06.2012 11:36

Цитата:
я не знал, что mingw использует ms crt...

кстати, каким образом?
глупость какая...
всё у них своё автономное...
Автор: ne_viens
Дата сообщения: 19.06.2012 11:57

Цитата:
Но float здесь при чем? "C" без проблем сгенерирует код для сопроцессора, без каких либо stdlib


В stdlib находится код инициализации сопроцессора (точность вычислений, режим округления, floating point exceptions, итд). Если либа нет, придётся самому всё настраивать в асме (fstcw, finit).
Автор: cp58
Дата сообщения: 19.06.2012 13:38
karakurt2

Цитата:
ratio %= lit("ratio")[at_c<0>(_val) = command::RATIO][at_c<1>(_val) = false]
|| double_ [at_c<2>(_val) = _1][at_c<1>(_val) = true];

Да это надо заменить. Переписать без %=.

akaGM
Как найдете - скажите.

ne_viens

Цитата:
В stdlib находится код инициализации сопроцессора (точность вычислений, режим округления, floating point exceptions, итд). Если либа нет, придётся самому всё настраивать в асме (fstcw, finit).

И что с этого? float будет работать. А выставить 3 регистра(fstat,ftag,fooff) если нужна точность не проблема.
Автор: akaGM
Дата сообщения: 19.06.2012 13:48
cp58
что найду?
Автор: cp58
Дата сообщения: 19.06.2012 13:55
akaGM
C библиотеку от mingw.
Автор: akaGM
Дата сообщения: 19.06.2012 14:38
cp58
что библиотеку?
я не понимаю чтО ты говоришь...
Автор: Abs62
Дата сообщения: 19.06.2012 16:46
akaGM
Скомпилируй под mingw какой-нибудь сишный код с использованием стандартной библиотеки и посмотри зависимости получившегося экзешника. Помедитируй над наличием в них MSVCRT.DLL.
Автор: akaGM
Дата сообщения: 19.06.2012 16:55
Abs62
а...

мне на это... до этого... после этого... перед этим и вместо этого...
у меня нет ни одного проекта на гнуси в общем, и под mingw в частности...
Автор: MihaNix
Дата сообщения: 20.06.2012 00:01
Смотрел как-то ранее ,действительно есть. Почему-то под Win 7 многие API...dll как нерабочие отображаются и нафига их так много(я к тому, что они в программе не используются)?
Автор: karakurt2
Дата сообщения: 20.06.2012 01:42
cp58
да, если заменить %= на =, работает. спасибо.
Автор: akaGM
Дата сообщения: 20.06.2012 09:11
"фирмА не вяжет веникОв"...
обращайтесь :)
Автор: Arumi
Дата сообщения: 24.06.2012 21:27
У меня на компьютере установлен Дэв С++, а в универе у нас стоит старенький Борланд.
Я начала писать прогу в универе, а дома получается, что дэв не всё правильно читает =\
Какой компилятор можно скачать, который более похож на Борланд? (Пы Сы: винда 7, 64-битный комп)
Автор: blaro
Дата сообщения: 24.06.2012 22:10

Цитата:
У меня на компьютере установлен Дэв С++, а в универе у нас стоит старенький Борланд.
Я начала писать прогу в универе, а дома получается, что дэв не всё правильно читает =\
Какой компилятор можно скачать, который более похож на Борланд? (Пы Сы: винда 7, 64-битный комп)

Может подойдет Eclipse или Netbeans с их cygwin?
Автор: TeXpert
Дата сообщения: 25.06.2012 08:32
Arumi
Цитата:
Я начала писать прогу в универе
А какую? На стандартных плюсах, или на нестандартных расширениях уже давно трупа Борлянд? От этого зависит ответ
Цитата:
Какой компилятор можно скачать, который более похож на Борланд?
Чем и как? Сообщениями?
Попробуй Intel C/C++, интересный компилятор. MinGW не советую --- не развивается, нет 64-й версии

И зачем тебе другой труп --- Dev-C++, написанный с помощью еще одного трупа от Борлянд? Тоже непонятно

А так, навскидку могу посоветовать установить Qt Creator. Его можно использовать с MinGW (так делает Dev-C++), Intel C/C++, Microsoft C/C++
Также, как писал blaro, можно использовать Eclipse --- его, точно знаю, можно настроить на Intel C/C++, на другие, думаю, тоже без проблем
Это про оболочек

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193

Предыдущая тема: не знаю как назвать тему :-)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.