std::map<std::string, void*> _objMap;
class map_value_finder
{
public :
map_value_finder(void* value) :_value(value){}
bool operator()(const std::map<std::string, void*>::value_type &pair)
{
if (pair.second == _value)
return true;
return false;
}
private:
const void* _value;
};
const char** getSelectItems(int& selectCount)
{
std::vector<ITEM*> items = _manager->getSelectedItems();
selectCount = items.size();
const char** keys = new const char*[items.size()];
int i = 0;
for each(ITEM* item in items)
{
std::map<std::string, void*>::iterator iter;
iter = std::find_if(_objMap.begin(), _objMap.end(), map_value_finder(item));
keys[i] = iter->first.data();
i++;
}
return keys;
}