Boost logo

Boost Users :

From: Jan Stetka (janpstetka_at_[hidden])
Date: 2006-04-21 12:58:19


I have found that putting
#include "boost/shmem/containers/map.hpp"
#include <boost/shmem/named_shared_object.hpp>

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<Node,Key,KeyOfValue,KeyCompare>::insert_unique_prepare(const
boost::shmem::detail::rb_tree_func<Node,Key,KeyOfValue,KeyCompare>::node_pointer
& ,const KeyCompare &,const Key
&,boost::shmem::detail::rb_tree_func<Node,Key,KeyOfValue,KeyCompare>::node_pointer
&
,boost::shmem::detail::rb_tree_func<Node,Key,KeyOfValue,KeyCompare>::insert_unique_context
&)'
         with
         [
             Node=boost::shmem::detail::rb_tree<long,std::pair<const
long,PHRunningData>,boost::shmem::detail::select1st<std::pair<const
long,PHRunningData>>,boost::shmem::allocator<std::pair<long,PHRunningData>,boost::shmem::detail::basic_named_object_impl<char,boost::shmem::simple_seq_fit<boost::shmem::shared_mutex_family>,boost::shmem::flat_map_index>::segment_manager>,std::allocator<std::pair<const
long,PHRunningData>>>::node_val_t,
             Key=long,
             KeyOfValue=boost::shmem::detail::select1st<std::pair<const
long,PHRunningData>>,
 
KeyCompare=boost::shmem::allocator<std::pair<long,PHRunningData>,boost::shmem::detail::basic_named_object_impl<char,boost::shmem::simple_seq_fit<boost::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<Node,Key,KeyOfValue,KeyCompare>'
being compiled
         with
         [
             Node=boost::shmem::detail::rb_tree<long,std::pair<const
long,PHRunningData>,boost::shmem::detail::select1st<std::pair<const
long,PHRunningData>>,boost::shmem::allocator<std::pair<long,PHRunningData>,boost::shmem::detail::basic_named_object_impl<char,boost::shmem::simple_seq_fit<boost::shmem::shared_mutex_family>,boost::shmem::flat_map_index>::segment_manager>,std::allocator<std::pair<const
long,PHRunningData>>>::node_val_t,
             Key=long,
             KeyOfValue=bo
ost::shmem::detail::select1st<std::pair<const long,PHRunningData>>,
 
KeyCompare=boost::shmem::allocator<std::pair<long,PHRunningData>,boost::shmem::detail::basic_named_object_impl<char,boost::shmem::simple_seq_fit<boost::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<Key,Value,KeyOfValue,Compare,Alloc>::insert_unique(const
boost::shmem::detail::rb_tree<Key,Value,KeyOfValue,Compare,Alloc>::value_type
&)'
         with
         [
             _Ty1=boost::shmem::detail::rb_tree<long,std::pair<const
long,PHRunningData>,boost::shmem::detail::select1st<std::pair<const
long,PHRunningData>>,boost::shmem::allocator<std::pair<long,PHRunningData>,boost::shmem::detail::basic_named_object_impl<char,boost::shmem::simple_seq_fit<boost::shmem::shared_mutex_family>,boost::shmem::flat_map_index>::segment_manager>,std::allocator<std::pair<const
long,PHRunningData>>>::iterator,
             _Ty2=bool,
             Key=long,
             Value=std::pair<const long,PHRunningData>,
             KeyOfValue=boost::shmem::detail::select1st<std::pair<const
long,PHRunningData>>,
 
Compare=boost::shmem::allocator<std::pair<long,PHRunningData>,boost::shmem::detail::basic_named_object_impl<char,boost::shmem::simple_seq_fit<boost::shmem::shared_mutex_family>,boost::shmem::flat_map_index>::segment_manager>,
             Alloc=std::allocator<std::pair<const long,PHRunningData>>
         ]
         C:\boost_1_33_1\boost\shmem\containers\map.hpp(79) : see
reference to class template instantiation
'boost::shmem::detail::rb_tree<Key,Value,KeyOfValue,Compare,Alloc>'
being compiled
         with
         [
             Key=long,
             Value=std::pair<const long,PHRunningData>,
             KeyOfValue=boost::shmem::detail::select1st<std::pair<const
long,PHRunningData>>,
             Compare=boost::shmem::allocator<std::pair<long,PHRunningData>,
boost::shmem::detail::basic_named_object_impl<char,boost::shmem::simple_seq_fit<boost::shmem::shared_mutex_family>,boost::shmem::flat_map_index>::segment_manager>,
             Alloc=std::allocator<std::pair<const long,PHRunningData>>
         ]
         \src\ph\projects\PHLogger\log.cpp(64) : see reference to class
template instantiation 'boost::shmem::map<Key,T,Pred>' being compiled
         with
         [
             Key=long,
             T=PHRunningData,
 
Pred=boost::shmem::allocator<std::pair<long,PHRunningData>,boost::shmem::detail::basic_named_object_impl<char,boost::shmem::simple_seq_fit<boost::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?


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net