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

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 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
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
Oh great, you’ve started a modern upgrade to MSM! I was just about to do the same as I am becoming frustrated with the antiquity of MSM (non-moveable events, no variadics, difficulties with posting events back to the machine and so on).

I’ll follow this with interest.

> On 9 Jul 2017, at 23:37, Deniz Bahadir via Boost-users <[hidden email]> wrote:
>
> 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

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