搜索boost :: tuple的矢量图

时间:2012-07-19 07:36:16

标签: c++ boost vector tuples

所以我有这个载体:

  vector<boost::tuple<ppa::Node*, ppa::Node*, ppa::Node*, bool> > wait;

我想搜索一下那些真实的,我怎么能这样做,就是这样。

任何建议我都考虑过boost :: phoenix但不确定它是如何工作的,任何想法。

感谢。

2 个答案:

答案 0 :(得分:3)

像这样std::find_if(wait.begin(),wait.end(),istruetuple) ......

答案 1 :(得分:0)

由于您刚刚开始,这里有一些示例代码(我不使用您正在使用的编译器,但如果您有C ++ 11支持,则可以使用auto,基于范围等。 ):

typedef vector<boost::tuple<ppa::Node*, ppa::Node*, ppa::Node*, bool> >::iterator vec_iter;
for (vec_iter i = wait.begin(); i != wait.end(); ++i)
{
    if (boost::get<3>(*i) == true)
    {
       // This tuple has true in it, so do something
    }
}

C ++ 11版本:

for (auto& i : wait)
{
    if (boost::get<3>(i) == true)
    {
        // Do stuff
    }
}