I have found that putting
#include "boost/shmem/containers/map.hpp"
#include
first in the header list removes the ambiguity.
Also when i call insert on the boost::shmem::map the pair that i am
passing gives me the following:
C:\boost_1_33_1\boost\shmem\containers\detail\tree_func.hpp(529) : error
C2064: term does not evaluate to a function taking 2 arguments
C:\boost_1_33_1\boost\shmem\containers\detail\tree_func.hpp(520) : while
compiling class-template member function 'bool
boost::shmem::detail::rb_tree_func::insert_unique_prepare(const
boost::shmem::detail::rb_tree_func::node_pointer
& ,const KeyCompare &,const Key
&,boost::shmem::detail::rb_tree_func::node_pointer
&
,boost::shmem::detail::rb_tree_func::insert_unique_context
&)'
with
[
Node=boost::shmem::detail::rb_tree,boost::shmem::detail::select1st>,boost::shmem::allocator,boost::shmem::detail::basic_named_object_implboost::shmem::shared_mutex_family,boost::shmem::flat_map_index>::segment_manager>,std::allocator>>::node_val_t,
Key=long,
KeyOfValue=boost::shmem::detail::select1st>,
KeyCompare=boost::shmem::allocator,boost::shmem::detail::basic_named_object_implboost::shmem::shared_mutex_family,boost::shmem::flat_map_index>::segment_manager>
]
C:\boost_1_33_1\boost\shmem\containers\tree.hpp(539) : see
reference to class template instantiation
'boost::shmem::detail::rb_tree_func'
being compiled
with
[
Node=boost::shmem::detail::rb_tree,boost::shmem::detail::select1st>,boost::shmem::allocator,boost::shmem::detail::basic_named_object_implboost::shmem::shared_mutex_family,boost::shmem::flat_map_index>::segment_manager>,std::allocator>>::node_val_t,
Key=long,
KeyOfValue=bo
ost::shmem::detail::select1st>,
KeyCompare=boost::shmem::allocator,boost::shmem::detail::basic_named_object_implboost::shmem::shared_mutex_family,boost::shmem::flat_map_index>::segment_manager>
]
C:\boost_1_33_1\boost\shmem\containers\tree.hpp(536) : while
compiling class-template member function 'std::pair<_Ty1,_Ty2>
boost::shmem::detail::rb_tree::insert_unique(const
boost::shmem::detail::rb_tree::value_type
&)'
with
[
_Ty1=boost::shmem::detail::rb_tree,boost::shmem::detail::select1st>,boost::shmem::allocator,boost::shmem::detail::basic_named_object_implboost::shmem::shared_mutex_family,boost::shmem::flat_map_index>::segment_manager>,std::allocator>>::iterator,
_Ty2=bool,
Key=long,
Value=std::pair,
KeyOfValue=boost::shmem::detail::select1st>,
Compare=boost::shmem::allocator,boost::shmem::detail::basic_named_object_implboost::shmem::shared_mutex_family,boost::shmem::flat_map_index>::segment_manager>,
Alloc=std::allocator>
]
C:\boost_1_33_1\boost\shmem\containers\map.hpp(79) : see
reference to class template instantiation
'boost::shmem::detail::rb_tree'
being compiled
with
[
Key=long,
Value=std::pair,
KeyOfValue=boost::shmem::detail::select1st>,
Compare=boost::shmem::allocator,
boost::shmem::detail::basic_named_object_implboost::shmem::shared_mutex_family,boost::shmem::flat_map_index>::segment_manager>,
Alloc=std::allocator>
]
\src\ph\projects\PHLogger\log.cpp(64) : see reference to class
template instantiation 'boost::shmem::map' being compiled
with
[
Key=long,
T=PHRunningData,
Pred=boost::shmem::allocator,boost::shmem::detail::basic_named_object_implboost::shmem::shared_mutex_family,boost::shmem::flat_map_index>::segment_manager>
]
C:\boost_1_33_1\boost\shmem\containers\detail\tree_func.hpp(542) : error
C2064: term does not evaluate to a function taking 2 arguments
I would like to know what parameters to call insert with?