2017-02-20 18 views
0

任意大小的集合使用加速融合和MPL集合,我最終把它添加到編譯器標誌:啓用加速MPL和融合

BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS 
BOOST_MPL_LIMIT_VECTOR_SIZE=50 
FUSION_MAX_VECTOR_SIZE=50 
FUSION_MAX_MAP_SIZE=50 

我使用Visual Studio 2015年(更新3)提升1.62。

不支持任意大小的集合通過使用可變模板添加到這些庫中?

如果是這樣,我該如何強制MPL和Fusion使用Visual Studio的可變版本?

回答

1

Fusion在相當長的時間內具有可變容器,但由於ICE(內部編譯器錯誤),它因爲MSVC而被禁用。爲MSVC(VS2015 U3 +)重新啓用可變容器的patch在Boost 1.65中着陸。

MPL沒有可變的支持。有一些嘗試(例如,Boost.Hana開發者的mpl11),但沒有一個人以PR結束。