Итак, у вас есть сотрудник класса
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 доступа к частным данным членов моего класса сотрудников.Я просто не могу понять, как это сделать: - /