[mpl] [msm] wrong number of template arguments (120, should be at least 0)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[mpl] [msm] wrong number of template arguments (120, should be at least 0)

Boost - Users mailing list
Hello,


I'm working on a msm with a big transition table (120 elements)

I already tried with
#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
then
#define BOOST_MPL_LIMIT_LIST_SIZE <custom value>
But I can't go over a size of 50 (including "boost/mpl/vector/vector50.hpp")

Any idea on how I can make a bigger table?

Thanks,
Alessandro



_______________________________________________
Boost-users mailing list
[hidden email]
https://lists.boost.org/mailman/listinfo.cgi/boost-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [mpl] [msm] wrong number of template arguments (120, should be at least 0)

Boost - Users mailing list
Am 07.07.2017 um 16:57 schrieb Alessandro Marzialetti via Boost-users:
> Hello,
>
>
> I'm working on a msm with a big transition table (120 elements)

This probably needs a lot of RAM when compiling... That is the reason
why I am currently switching from Boost.MSM to
(to-be-proposed-)Boost.SML. (You can find it at:
https://github.com/boost-experimental/sml)


> I already tried with
> #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
> then
> #define BOOST_MPL_LIMIT_LIST_SIZE <custom value>
> But I can't go over a size of 50 (including "boost/mpl/vector/vector50.hpp")
>
> Any idea on how I can make a bigger table?

You must increase the size of the pre-processed mpl::vectors.
For that there exists a python-script in "libs/mpl/preprocessed". It is
called "boost_mpl_preprocess.py".

Calling that script with the "--help" command should give you some hints
on how to call it.
You probably need to call it like this:

python boost_mpl_preprocess.py --num-elements 120

Possibly, it would be enough to only increase the size of preprocessed
mpl::vector. Then you could use the additional options "--no-list",
"--no-set" and "--no-map" and thereby leave the size of the preprocessed
mpl::list, mpl::set and mpl::map as is.


For further background-information you might find this StackOverflow
entry, and the conversation on the boost-mailing-list interesting:

https://stackoverflow.com/questions/19493630/boostmpl-how-to-generate-pre-generated-header-files-for-lists-with-more-than

http://boost.2283326.n4.nabble.com/MPL-Config-Can-no-longer-pre-generate-headers-for-MPL-containers-with-more-than-50-elements-td4674350.html

>
> Thanks,
> Alessandro
>
>
> <http://www.boost.org/doc/libs/1_63_0/libs/mpl/doc/refmanual/cfg-no-preprocessed-headers.html>
>
>

Hope that helps,
Deniz

_______________________________________________
Boost-users mailing list
[hidden email]
https://lists.boost.org/mailman/listinfo.cgi/boost-users
Loading...