I am using Boost multi index map container to support cache in my application. But during insertion I seeing a application crash. My code looks somewhat like this
class MultiIndexMap
{
public:
MultiIndexMap();
~MultiIndexMap();
string _uid;
string _name1;
string _name2;
};
/**
* Tags for accessing corresponding indices
*/
class uid{};
class name1{};
class name2{};
/**
* - a unique index sorted by MultiIndexMap::_uid,
* - a non-unique index sorted by MultiIndexMap::name1,
* - a non-unique index sorted by MultiIndexMap::name2.
*/
typedef multi_index_container<
MultiIndexMap,
indexed_by<
ordered_unique< tag<uid>, BOOST_MULTI_INDEX_MEMBER(MultiIndexMap,string,_uid)>,
ordered_non_unique< tag<name1>,BOOST_MULTI_INDEX_MEMBER(MultiIndexMap,string,_name2)>,
ordered_non_unique< tag<name2>, BOOST_MULTI_INDEX_MEMBER(MultiIndexMap,string,_name2)> > > MultiIndexMap_set;
void Insert(MultiIndexMap_set& s, MultiIndexMap& entry)
{
MultiIndexMap_set::nth_index<0>::type& uid_index= s.get<0>();
uid_index.insert(entry); <<-- crashing at this line
}
What could be the reason for this crash.
This the location and the crash what I am getting in my application.