本文整理汇总了C++中Tuple::matches方法的典型用法代码示例。如果您正苦于以下问题:C++ Tuple::matches方法的具体用法?C++ Tuple::matches怎么用?C++ Tuple::matches使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tuple
的用法示例。
在下文中一共展示了Tuple::matches方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getTuple
int MultiTuple::getTuple(unsigned int typeID, const Tuple &tmpl, Tuple *&pTuple){
int dataIdx = tmpl._elements.size();
Internal *internal = &_data[dataIdx];
internal->getAccess();
while(internal->waitTuple()){
// TupleSpaceInternal::iterator entry = _data.lower_bound(typeID);
// TupleSpaceInternal::iterator uBound = _data.upper_bound(typeID);
// while(entry != uBound){
for(internal_t::iterator entry = internal->_tuples.begin();
entry != internal->_tuples.end(); ++entry){
//assert(entry->first == typeID);
Tuple *t = static_cast<Tuple*>(*entry);
if(tmpl.matches(*t)){
internal->_tuples.erase(entry); /* Remove tuple from tuplespace */
trace_access[trace_access_count++] = 'G';
internal->releaseAccess();
pTuple = t;
#ifndef NDEBUG
#ifdef CHECK_INTEGRITY
t->checkMyIntegrity();
#endif
#endif
return typeID;
}
}
internal->releaseAccess();
return NO_MATCHES;
}
internal->releaseAccess();
return SPACE_CLOSED;
}