私は構造体を持っています:
struct user_context {
struct user_id;
struct user_name;
struct user_address;
boost::int64_t user_id() const;
const std::string& user_name() const;
};
3 つのインデックスでboost.multiindexを使用したい: 1) user_id、2) user_name、3) user_context オブジェクトのアドレス
user_context型のオブジェクトのアドレスのキー指定の書き方がわかりません。
typedef std::shared_ptr<user_context> user_context_ptr;
typedef boost::multi_index::multi_index_container<
user_context_ptr
,boost::multi_index::indexed_by<
boost::multi_index::hashed_unique<
boost::multi_index::tag<user_context::user_id>
,boost::multi_index::const_mem_fun<
user_context
,boost::int64_t
,&user_context::user_id
>
>,
boost::multi_index::hashed_unique<
boost::multi_index::tag<user_context::user_name>
,boost::multi_index::const_mem_fun<
user_context
,const std::string&
,&user_context::user_name
>
>,
boost::multi_index::hashed_unique<
boost::multi_index::tag<user_context::user_address>
,boost::multi_index:: ??? < // <<<
user_context
,user_context* (???) // <<<
,??? // <<<
>
>
>
> users_container;
ありがとう。