だからあなたはクラスの従業員を持っています
class employee {
public:
employee(const string &name, int id) : m_name(name) , m_id(id) {}
const string &getName() const { return m_name; }
int getID() const { return m_id; }
private:
string &m_name;
int m_id;
};
カプセル化用のプライベート データ メンバーがあります。しかし、今は boost::multi_index を使いたい....
typedef multi_index_container <
employee,
indexed_by<
ordered_non_unique<
composite_key<
Name,
member< employee, string & , &employee::m_name>,
member< employee, int, &employee::m_id>
>
>
>
> employee_set;
だから私は BOOST_INDEX_CONST_MEM_FUN を使うことができました...
typedef multi_index_container <
employee,
indexed_by<
ordered_non_unique<
composite_key<
Name,
BOOST_MULTI_INDEX_CONST_MEM_FUN(employee, const string&, getName),
BOOST_MULTI_INDEX_CONST_MEM_FUN(employee, int, getID)
>
>
>
> employee_set;
しかし、私が本当にやりたいことは、従業員クラスのプライベート データ メンバーへのアクセスを employee_set に許可することです。私はそれを行う方法を理解できません:-/