Boost logo

Boost Users :

Subject: Re: [Boost-users] How to skip leading characters
From: OvermindDL1 (overminddl1_at_[hidden])
Date: 2009-11-23 22:43:59


On Mon, Nov 23, 2009 at 2:50 PM, Al Gambardella <agam.email_at_[hidden]> wrote:
> I have an input text file that I read line by line into a standard string.
>
>
>
> Each line has the following format:
>
> Name1  00 12 3a 4c ff …
>
> Name2  33 55 5c dd ee …
>
>
>
> How do create the grammer to skip the leading NameX on each line and put the
> hex digits into a vector?
>
>
>
> If the lines had a more complex format such that anything could appear
> before NameX for example:
>
>
>
> Bla bla bla : 0a .bb cc  NameX 01 22 aa dd 33 44 50 00 …
>
>
>
> How could I once again get the hex digits after the name into a vector?

This is all easy and fast to do using Spirit2.1 (Boost.Spirit). Look
at it, if you need help with it, ask on the boost-spirit mailing list.

This is not it, but with Spirit2.1, perhaps something like:
omit[(char_-("Name">>int_)) >> "Name" >> int_ >> blank] >> +(blank >> hex_)
Which would fill up a vector, and you can specialize the int_parser of
hex for a specific type as well, like char, then you could fill up a
string. Ask on the Spirit mailing list for more info.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net