Hi All ,

I have created a boost::multi_index container for my use and it compiles successfully. I would like to add my pointer objects to it. boost::multi_index does not seem to have an insert method defined which just takes one arguement which is what I would like the container to store. Maybe I didnt understand how boost::multi_index is meant to be used. Can you please explain to me how to insert an object which I wish the store in the container defined? How is it intended to be used? The container I defined is ,

typedef boost::multi_index_ClassX<
  ClassX*,
  boost::multi_index::indexed_by<
boost::multi_index::hashed_unique<  
    boost::multi_index::const_mem_fun<ParentOfClassX, Int64, &ParentOfClassX::getKey1>, 
                boost::multi_index::const_mem_fun<ParentOfClassX, Int64, &ParentOfClassX::getKey2>,
>
>
> MultiIndexedClassX;

I would like to do an equivalent of,

MultiIndexedClassX sample;
ClassX a;

sample.insert(&a); <- Since I am interested in storing a *X and I would like it to be indexed by various parameters of X.

Also please let me know how to,

1. Insert *X into the container
2. Look up by 
           a) Value of ParentOfClassX::Key1 
           b) Value of ParentOfClassX::Key2

Please also let me know if I have some basic understanding wrong since I am getting confused a lot in trying to use boost::multi_index.

Thanks in advance,
Ram