I’m just trying to use Boost.MultiIndex in a large project but I’m not being
able to compile this library with VC 7.1.6030: I’ve got an ICE in file
“apply_wrap.hpp” of Boost.MPL.
I’ve tried to change the headers order but without success.
My environment is:
-
Windows XP
-
Boost 1.33.1
-
VC 7.1.6030
To demonstrate this ICE, you will
find hereafter a code snippet.
Thanks in advance.
// MultiIndex Container
#include
<boost/config.hpp>
#include
<boost/multi_index_container.hpp>
#include
<boost/multi_index/composite_key.hpp>
#include
<boost/multi_index/ordered_index.hpp>
#include
<boost/multi_index/member.hpp>
#include
<boost/multi_index/key_extractors.hpp>
// STL
#include
<string>
using namespace boost::multi_index ;
struct Item {
const std::string& getCls() const
{ return _cls ; }
const std::string& getId() const
{ return _id ; }
std::string _cls ;
std::string _id ;
int
_i ;
int
_j ;
} ;
void main()
{
typedef
const_mem_fun<
Item
, const std::string&
, &Item::getCls
> key_cls ;
typedef
const_mem_fun<
Item
, const std::string&
, &Item::getId
> key_id ;
typedef
composite_key<Item,key_cls,key_id>
ckey_clsid ;
typedef
composite_key<
Item
, ordered_non_unique<member<Item,int,&Item::_i> >
, ordered_non_unique<member<Item,int,&Item::_j> >
> ckey_ij ;
typedef
multi_index_container<
Item,
indexed_by<
ordered_non_unique<key_id>
, ordered_non_unique<key_cls>
, ordered_unique<ckey_ij>
>
> ObjectContainer
;
ObjectContainer
c ;
}