Hello Joaquín, today I faced some problem, when debugging the code. namespace mi = boost::multi_index; typedef mi::multi_index_container < vx_type , mi::indexed_by < mi::hashed_unique<mi::tag<vx_hash>, hash_extractor, dummy_hasher> , mi::ordered_non_unique<mi::tag<vx_kind>, kind_extractor > > > some_t; When created a view for vx_hash tag and going to change the invalid iterator like view.end(). Dereferencing view.end() fails as awaited, but this code which calls my TypeModifier: view.modify(view.end(), my_modifier); This will result in my_modifier call with dereferenced iterator, which contains badly initialized object. My environment VC++ 2005 Express, boost 1.34.1 With Kind Regards, Ovanes