boost::spirit X3 -- Why can it not be found from the list of libraries?

46 Views Asked by At

Why is this library not listed in the directory of the matching boost version? What are the differences compared to v2.*? What are the required/supported C++ standards?

1

There are 1 best solutions below

0
sehe On

X3 is not a boost library. It's a component of the Boost Spirit library.

The documentation is here: https://www.boost.org/doc/libs/1_82_0/libs/spirit/doc/x3/html/index.html

It requires c++14, but there are deprecation warning that in the future they will only support c++17. In fact I just found (on that page) they already do:

WARNING*: C++14 compilers support will be dropped soon. Spirit X3 in Boost 1.81 (scheduled to November 2022) will use C++17 features.

The differences are legion, but you can find them by reading the docs.

I guess besides that, you can find some of that info on this site:

  1. Maturity

    - https://stackoverflow.com/questions/48237777/is-boost-spirit-x3-production-ready/48239766#48239766
    - https://stackoverflow.com/questions/45014216/how-future-safe-is-it-to-write-a-parser-with-boost-spirit-x3/45015809#45015809
    - https://stackoverflow.com/questions/52990661/getting-into-boost-spirit-qi-or-x3/52991170#52991170
    
  2. Differences

  3. Overcoming differences/missing bits:

  4. Advanced Use

  5. Common Pitfalls

I could go on, but it's probably better to search/ask targeted questions if you run into more.

TL/DR

As I happen to have recommended someone else yesteday:

@sehe. Since I'm using the latest boost version (1.82,0), do you recommend using QI or X3 for this project? They both new for me to learn anyway. I just don't want to spend time upgrading this to X3 in the future. – Dylan 6 hours ago

I think Qi is more mature and has fewer surprises (especially surrounding automatic propagation). However, X3 is a lot quicker to compile. If you are prepared to do a lot manual massaging with semantic actions anyways, X3 might be easier, since they're bit more natural now. – sehe 5 hours ago