0

私は構造体を持っています:

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;

ありがとう。

4

1 に答える 1