我想要使用成员函数w /参数作为键的boost :: multi_index容器。boost :: multi_index通过带参数的函数调用索引
class Data {
public:
std::string get(const std::string & _attr) { return _internals_fetch_data(_attr); }
/*
assume some implementation for storing data in some structure(s)
*/
};
假设我有过想多indicies这些数据项的矩形名单。 矩形意味着在列表中的所有项目通过GET具有相同的属性()
了boost :: multi_index声明是一样的东西
typedef multi_index_container<
Data,
indexed_by<
ordered_unique<
BOOST_MULTI_INDEX_CONST_MEM_FUN(Data,String,get)
>
>
> my_container;
除了BOOST_MULTI_INDEX_CONST_MEM_FUNCT()不具备这些功能。 复合键仍然适用于成员变量。
我该如何解决这个问题? 它看起来并不像我可以给ordered_unique <>一个boost ::功能1
编辑:
经过一番思考,这里是我想要做的要点。
boost :: multi_index决定了它在编译期间的索引功能。我如何规避这些功能并使用运行时确定的索引?
这就是问题所在。看起来我不能在这里使用_const_mem_fun1_。 – 2009-09-02 19:18:17
你认为如何传递参数?像'ordered_unique(“string”)>'? –
2009-09-02 19:24:49
也许(“字符串”)可以作为另一个参数的结构/包装。 – 2009-09-02 19:58:20