Comments (3)
It looks like a bug with make_map
. In the meantime, a workaround not using make_map
, but directly using map
. Something like:
#include <boost/fusion/include/make_map.hpp>
#include <boost/fusion/include/make_vector.hpp>
#include <string>
using namespace boost::fusion;
typedef map<
pair<int, vector<>> >
map_type;
map_type m(make_pair<int>(vector<>()));
A PR is very welcome if you can investigate some more on fixing this.
from fusion.
Thanks for telling me a workaround! I could make my own make_map function using map
, pair
and it is working fine with make_vector
.
The original make_map
doesn't pass pair
object to the ctor of map
. That is the cause of this issue where any object whose traits::is_sequence<T>::value
will be true
cannot be passed. Modifying arg
to fusion::pair<Key, typename detail::as_fusion_element<T>::type>(arg)
will fix it, but now I wonder why arg
is lvalue reference rather than forwarding reference. Maybe it's related with some compatibility issues? I haven't understood much enough to make a PR for it yet.
from fusion.
I wonder why
arg
is lvalue reference rather than forwarding reference
Well, actually fusion predates c++11. There are still some things need to be reworked, but care must be taken because fusion still has to support older compilers, although I am starting to think that maybe it's time to move on.
from fusion.
Related Issues (20)
- Merge to master
- Get member name of sequence defined by BOOST_FUSION_DEFINE_STRUCT_INLINE HOT 1
- boost::fusion::map or boost::fusion::map surprising behavior HOT 2
- Overzealously defining __device__ functions when compiling with nvcc HOT 3
- reverse_fold has no static assert for requiring bidirectional sequence HOT 1
- Testcase failure with optimization -O2 and -O1 in gcc and llvm
- Propose for inplace construct from Fusion Sequence
- List of non BOOST-prefixed macros
- clang-10 warning: definition of implicit copy constructor is deprecated HOT 1
- associability of single_view (and associability preservation of some algorithms)
- What about "boost pfr" extension? HOT 8
- Is there a identity_view? HOT 8
- Potential non consistency in documentation HOT 2
- CI for Linux? HOT 2
- qvm not usable in spirit::x3
- Alternative way to adapt struct? HOT 3
- The result of `value_at` with `std::tuple` does not match result of `value_at` with `boost::fusion::vector` HOT 2
- Please sync main branch with develop HOT 12
- 'J': is not a valid type for non-type template parameter 'J' error in boost\fusion\container\vector\vector.hpp HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fusion.