$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [Boost-users] Multi Index: Nested std::pair
From: Kimon Simons (kimon.simons_at_[hidden])
Date: 2009-04-26 09:36:00
Was your intention to store lists of pairs as you show in the multi_index
declaration
std::list<
           std::pair<
               /*value*/
               unsigned char,
               std::pair<
                   /*x co-ordinate*/
                   unsigned char,
                   /*y co-ordinate*/
                   unsigned char
               >
           >
       >,
or just tuples of {unsigned Value, X-coordinate,Y coordinate} emulated by
Value, std::pair<X,Y>, as implied by your index declaration ?
boost::multi_index::indexed_
>
> by<
>            /*value*/
>            boost::multi_index::ordered_non_unique<
>                boost::multi_index::identity<unsigned char>
>            >,
>            /*x co-ordinate*/
>            boost::multi_index::ordered_non_unique<
>                boost::multi_index::identity<unsigned char>
>            >,
>            /*y co-ordinate*/
>            boost::multi_index::ordered_non_unique<
>                boost::multi_index::identity<unsigned char>
>            >
>        >
 If the latter is the case have you thought of using boost::tuple directly?
Just a thought
Kimon
On Sun, Apr 26, 2009 at 4:11 PM, Etienne Philip Pretorius <
icewolfhunter_at_[hidden]> wrote:
> Hello List,
>
> I would greatly appreciate if someone could assist me in getting this
> structure correct.
>
>    boost::multi_index_container<
>        std::list<
>            std::pair<
>                /*value*/
>                unsigned char,
>                std::pair<
>                    /*x co-ordinate*/
>                    unsigned char,
>                    /*y co-ordinate*/
>                    unsigned char
>                >
>            >
>        >,
>        boost::multi_index::indexed_by<
>            /*value*/
>            boost::multi_index::ordered_non_unique<
>                boost::multi_index::identity<unsigned char>
>            >,
>            /*x co-ordinate*/
>            boost::multi_index::ordered_non_unique<
>                boost::multi_index::identity<unsigned char>
>            >,
>            /*y co-ordinate*/
>            boost::multi_index::ordered_non_unique<
>                boost::multi_index::identity<unsigned char>
>            >
>        >
>    > m;
>
> I do not see how "boost::multi_index::ordered_non_unique" will index the
> appropriate field in the nested std::pair structures. This is why I suspect
> there to be a problem with this structure.
>
> So before I continue, could someone please tell me if I am on the correct
> path.
>
> Grateful,
> Etienne
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://listarchives.boost.org/mailman/listinfo.cgi/boost-users
>