Boost logo

Boost Users :

Subject: Re: [Boost-users] Help Required, trouble while using boost::multi_index
From: Ram (sourceopen_at_[hidden])
Date: 2016-09-19 01:27:32


Hi Joaquin/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

On Sat, Sep 17, 2016 at 5:29 PM, Ram <sourceopen_at_[hidden]> wrote:

> Thanks Joaquin anyway :) !
>
> On Sat, Sep 17, 2016 at 3:01 PM, Joaquin M López Muñoz <
> joaquinlopezmunoz_at_[hidden]> wrote:
>
>> El 17/09/2016 a las 11:11, Ram escribió:
>>
>>> Thanks Joaquin! That worked! I struggled the whole of yesterday. How
>>> would I find this on my own?
>>>
>>
>> I don't have magical recipes, one just develops some sort of skill at
>> cracking template-related
>> compile errors after many years of exposure. The message
>>
>> [...]: error C2903: 'node_class' : symbol is neither a class template nor
>> a function template
>>
>> somehow hints at node_class not existing when it should, though this is
>> admittedly a subtle clue.
>>
>> PS: Please don't top post, see http://www.boost.org/community
>> /policy.html#quoting
>>
>>
>> Joaquín M López Muñoz
>> _______________________________________________
>> Boost-users mailing list
>> Boost-users_at_[hidden]
>> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>>
>
>



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net