Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Number List - stuffing numbers into a std::vector

Boost , Spirit 2.5.2 , Tutorials

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Эта выборка демонстрирует парсер для запятой разделенного списка чисел. Числа вставляются в вектор с помощью феникса.

template <typename Iterator>
bool parse_numbers(Iterator first, Iterator last, std::vector<double>& v)
{
    using qi::double_;
    using qi::phrase_parse;
    using qi::_1;
    using ascii::space;
    using phoenix::push_back;
    bool r = phrase_parse(first, last,
        //  Begin grammar
        (
            double_[push_back(phoenix::ref(v), _1)]
                >> *(',' >> double_[push_back(phoenix::ref(v), _1)])
        )
        ,
        //  End grammar
        space);
    if (first != last) // fail if we did not get a full match
        return false;
    return r;
}

The full cpp file for this example can be found here: ../../example/qi/num_list2.cpp

Это, опять же, тот же парсер, что и раньше. На этот раз вместо того, чтобы суммировать цифры, мы засунем их в<std::vector>.<push_back>поставляется компаниейPhoenix. Выражение:

push_back(ref(v), _1)

Прибавьте урезанное число. Как и раньше,<_1>являетсяФениксзаполнителем для парсированного атрибута результата. Как и раньше,<ref(v)>Феникс, что<v>,<std::vector>, является изменчивой ссылкой.


PrevUpHomeNext

Статья Number List - stuffing numbers into a std::vector раздела Spirit 2.5.2 Tutorials может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Tutorials ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 05:05:22/0.0034079551696777/0