|
Boost Users : |
Subject: Re: [Boost-users] multi_index::composite_key with char[]
From: leyiliu (595657419_at_[hidden])
Date: 2015-09-11 01:28:11
Joaquin M LópezMuñoz wrote
> leyiliu <595657419
> <at>
> qq.com> writes:
>
>>
>> CoreStruct.h <http://boost.2283326.n4.nabble.com/file/n4679888/
> > CoreStruct.h>
>> TypeDef.h
>> <http://boost.2283326.n4.nabble.com/file/n4679888/TypeDef.h>
>>
>> this is my code file
>>
>> t_ac_client_basic_set testSet;
>> pk_t_ac_client_basic_Index test = testSet.get
> <pk_t_ac_client_basic>
> ;
>> test.find(std::make_tuple("KS", "1"));
>>
>> How can I modify to right
>
> Hi leyiliu,
>
> I'd suggest you don't remove the conversation context when replying to
> the list, so that the conversation can be more easily followed by
> potential reades. Useful info on posting guidelines at
>
> http://www.boost.org/community/policy.html
>
> As for your question, I've reviewed the code you provide and seemingly
> you're taking my advice of providing ad-hoc hash and equality functors
> taking const char* rather than char[21], so in principle everything
> looks right. What exact problem/error are you getting?
>
> PS: the line
>
> pk_t_ac_client_basic_Index test = testSet.get
> <pk_t_ac_client_basic>
> should be
>
> pk_t_ac_client_basic_Index& test = testSet.get
> <pk_t_ac_client_basic>
> (note the &). Is this related to your problem?
>
> JoaquÃn M López Muñoz
> Telefónica
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_.boost
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
I follow your suggest,define the set like this:
typedef boost::multi_index_container<
t_ac_client_basic,
boost::multi_index::indexed_by<
boost::multi_index::ordered_non_unique<
boost::multi_index::tag<pk_t_ac_client_basic>,
boost::multi_index::composite_key<
t_ac_client_basic,
boost::multi_index::member<t_ac_client_basic, char[21],
&t_ac_client_basic::LCcode >,
boost::multi_index::member<t_ac_client_basic, char[21],
&t_ac_client_basic::ClientID >
>,
boost::multi_index::composite_key_compare<
std::less<const char*>,
std::less<const char*>
>
>
>
> t_ac_client_basic_set;
I get a error,when add this code
pk_t_ac_client_basic_Index& test = testSet.get<pk_t_ac_client_basic>;
:
error C3867:
âboost::multi_index::multi_index_container<ZYSystem::t_ac_client_basic,boost::multi_index::indexed_by<boost::multi_index::ordered_non_unique<boost::multi_index::tag<ZYSystem::pk_t_ac_client_basic,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::composite_key<ZYSystem::t_ac_client_basic,boost::multi_index::member<ZYSystem::t_ac_client_basic,char
[21],pointer-to-member(0x0)>,boost::multi_index::member<ZYSystem::t_ac_client_basic,char
[21],pointer-to-member(0x15)>,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>,boost::multi_index::composite_key_compare<std::less<const
char *>,std::less<const char
*>,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>>,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,std::allocator<Value>>::getâ:
å½æ°è°ç¨ç¼ºå°åæ°å表ï¼è¯·ä½¿ç¨â&boost::multi_index::multi_index_container<ZYSystem::t_ac_client_basic,boost::multi_index::indexed_by<boost::multi_index::ordered_non_unique<boost::multi_index::tag<ZYSystem::pk_t_ac_client_basic,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::composite_key<ZYSystem::t_ac_client_basic,boost::multi_index::member<ZYSystem::t_ac_client_basic,char
[21],pointer-to-member(0x0)>,boost::multi_index::member<ZYSystem::t_ac_client_basic,char
[21],pointer-to-member(0x15)>,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>,boost::multi_index::composite_key_compare<std::less<const
char *>,std::less<const char
*>,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>>,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,std::allocator<Value>>::getâå建æåæåçæé
when I use the hash index,like my code file,I get a error:
error C3867:
âboost::multi_index::multi_index_container<ZYSystem::t_ac_client_basic,boost::multi_index::indexed_by<boost::multi_index::hashed_non_unique<boost::multi_index::tag<ZYSystem::pk_t_ac_client_basic,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::composite_key<ZYSystem::t_ac_client_basic,boost::multi_index::member<ZYSystem::t_ac_client_basic,char
[21],pointer-to-member(0x0)>,boost::multi_index::member<ZYSystem::t_ac_client_basic,char
[21],pointer-to-member(0x15)>,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>,boost::multi_index::composite_key_hash<ZYSystem::CharHasher,ZYSystem::CharHasher,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>,boost::multi_index::composite_key_equal_to<ZYSystem::CharEqualTo,ZYSystem::CharEqualTo,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>>,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,std::allocator<Value>>::getâ:
å½æ°è°ç¨ç¼ºå°åæ°å表ï¼è¯·ä½¿ç¨â&boost::multi_index::multi_index_container<ZYSystem::t_ac_client_basic,boost::multi_index::indexed_by<boost::multi_index::hashed_non_unique<boost::multi_index::tag<ZYSystem::pk_t_ac_client_basic,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::composite_key<ZYSystem::t_ac_client_basic,boost::multi_index::member<ZYSystem::t_ac_client_basic,char
[21],pointer-to-member(0x0)>,boost::multi_index::member<ZYSystem::t_ac_client_basic,char
[21],pointer-to-member(0x15)>,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>,boost::multi_index::composite_key_hash<ZYSystem::CharHasher,ZYSystem::CharHasher,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>,boost::multi_index::composite_key_equal_to<ZYSystem::CharEqualTo,ZYSystem::CharEqualTo,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>>,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,std::allocator<Value>>::getâå建æåæåçæé
-- View this message in context: http://boost.2283326.n4.nabble.com/multi-index-composite-key-with-char-tp4679825p4679964.html Sent from the Boost - Users mailing list archive at Nabble.com.
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