Hi,
I am trying to create a ClassX using "boost::multi_index" and I was
successfully able to create a ClassX like,
typedef boost::multi_index_ClassX<
ClassX*,
boost::multi_index::indexed_by<
boost::multi_index::hashed_unique<
boost::multi_index::const_mem_fun,
boost::multi_index::const_mem_fun,
MultiIndexedClassX;
This compiles perfectly with no problems.
I am writing the code and compiling with Visual Studio 2005 and have
included,
#include
#include "boost/multi_index/hashed_index_fwd.hpp"
#include
and have defined namespaces,
using namespace boost::multi_index;
using boost::multi_index::multi_index_container;
using boost::multi_index::hashed_unique;
using boost::multi_index::indexed_by;
But when I create an object of that type like,
MultiIndexedClassX sample;
I get a big list compilation errors like,
*c:\code\common\lib\boost\boost\multi_index\detail\node_type.hpp(44) :
error C2903: 'node_class' : symbol is neither a class template nor a
function template*
*
c:\code\common\lib\boost\boost\mpl\aux_\preprocessed\plain\apply_wrap.hpp(49)
: see reference to class template instantiation
'boost::multi_index::detail::index_node_applier::apply'
being compiled*
* with*
* [*
*
IndexSpecifierIterator=boost::mpl::v_iter,boost::multi_index::const_mem_fun>>,0>,*
* Super=boost::multi_index::detail::index_node_base>*
* ]*
*
c:\code\common\lib\boost\boost\mpl\aux_\preprocessed\plain\bind.hpp(207) :
see reference to class template instantiation
'boost::mpl::apply_wrap2' being compiled*
* with*
* [*
* F=boost::multi_index::detail::index_node_applier,*
*
T1=boost::mpl::v_iter,boost::multi_index::const_mem_fun>>,0>,*
* T2=boost::multi_index::detail::index_node_base>*
* ]*
*
c:\code\common\lib\boost\boost\mpl\aux_\preprocessed\plain\apply_wrap.hpp(49)
: see reference to class template instantiation
'boost::mpl::bind2::apply' being compiled*
* with*
* [*
* F=boost::multi_index::detail::index_node_applier,*
* T1=boost::mpl::_2,*
* T2=boost::mpl::_1,*
* U1=boost::multi_index::detail::index_node_base>,*
*
U2=boost::mpl::v_iter,boost::multi_index::const_mem_fun>>,0>*
* ]*
*
c:\code\common\lib\boost\boost\mpl\aux_\preprocessed\plain\apply.hpp(63) :
see reference to class template instantiation
'boost::mpl::apply_wrap2' being compiled*
* with*
* [*
*
F=boost::mpl::bind2boost::multi_index::detail::index_node_applier,boost::mpl::_2,boost::mpl::_1,*
* T1=boost::multi_index::detail::index_node_base>,*
*
T2=boost::mpl::v_iter,boost::multi_index::const_mem_fun>>,0>*
* ]*
*
c:\code\common\lib\boost\boost\mpl\aux_\preprocessed\plain\reverse_iter_fold_impl.hpp(58)
: see reference to class template instantiation
'boost::mpl::apply2' being compiled*
* with*
* [*
*
F=boost::mpl::bind2boost::multi_index::detail::index_node_applier,boost::mpl::_2,boost::mpl::_1,*
* T1=boost::multi_index::detail::index_node_base>,*
*
T2=boost::mpl::v_iter,boost::multi_index::const_mem_fun>>,0>*
* ]*
Thanks,
Ram