当前位置: 首页>>代码示例>>C++>>正文


C++ Vec::empty方法代码示例

本文整理汇总了C++中Vec::empty方法的典型用法代码示例。如果您正苦于以下问题:C++ Vec::empty方法的具体用法?C++ Vec::empty怎么用?C++ Vec::empty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Vec的用法示例。


在下文中一共展示了Vec::empty方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: main

int main(int argc, char* argv[])
{
    int rank,size,offset;
    MPI_Init(&argc, &argv);
    MPI_Comm_rank(MPI_COMM_WORLD, &rank);
    MPI_Comm_size(MPI_COMM_WORLD, &size);
  
    ostringstream convert;
    convert << rank+1;
    string file = "data"+ convert.str();
    int numLocal, totalNode;
    Graph g(rank,file);

    Matpair buf(4);
    Vec F;
    numLocal = g.localNode();
    offset = rank*numLocal;
    int root = 512;
    int finish,localfinish;
    int parents[numLocal];
    for (int i=0;i<numLocal;i++){
        parents[i] = -1;
    }
    if (rank == root/numLocal){
        F.push_back(root);
        parents[root-offset] = -2;}
    localfinish = !F.empty(); 

    Vec nxFr;
   
    int dep=0;
    int depth[numLocal];
    for (int i = 0; i < numLocal; i++){
	    depth[i]=0;
    }

    while(1){
    	localfinish=!F.empty();
	MPI_Barrier(MPI_COMM_WORLD);
	MPI_Allreduce(&localfinish,&finish,1,MPI_INT,MPI_SUM,MPI_COMM_WORLD);
    	if (finish==0)
		break;
        if (!F.empty()){
	   for (Vec::iterator i = F.begin();i != F.end(); i++){
		depth[*i-offset] = dep+1;
		cout << "node "<< *i <<" depth: "<<dep+1<<endl;
	   }
	}

        nextFrBuf(g,F,rank,size,buf,offset);
        alltoallPersonalized(buf,parents,nxFr,size,offset);
	F=nxFr;
	dep++;
    } 

    MPI_Finalize();
    return 0;
}
开发者ID:jinzhang-zj,项目名称:parBFS,代码行数:58,代码来源:tdmpi.cpp

示例2: update_in_a_cycle

void Instruction::update_in_a_cycle() {
    ++Instruction::cur_op_id;
    Vec<std::pair<Instruction *,unsigned>> stack;
    stack.emplace_back( this, 0 );
    while ( true ) {
        std::pair<Instruction *,unsigned> t = stack.back();

        // instruction
        if ( t.first->op_id == Instruction::cur_op_id ) {
            stack.pop_back();
            if ( t.first->num_in_dfs_stack >= 0 )
                for( unsigned j = t.first->num_in_dfs_stack; j < stack.size(); ++j )
                    stack[ j ].first->in_a_cycle = true;
        } else {
            t.first->op_id = Instruction::cur_op_id;
            t.first->num_in_dfs_stack = stack.size() - 1;
        }

        // next
        while ( stack.back().second >= stack.back().first->next.size() ) {
            stack.back().first->num_in_dfs_stack = - 1;
            stack.pop_back();
            if ( stack.empty() )
                return;
        }
        stack.emplace_back( stack.back().first->next[ stack.back().second++ ].inst, 0 );
    }
}
开发者ID:hleclerc,项目名称:Hpipe,代码行数:28,代码来源:Instruction.cpp

示例3: get

 uint32_t get(uint32_t pos) const
 {
     assert(!v_.empty() && v_[0] == 0);
     Vec::const_iterator i = std::lower_bound(v_.begin(), v_.end(), pos + 1);
     if (i == v_.end()) return (uint32_t)v_.size() - 1;
     return (uint32_t)std::distance(v_.begin(), i) - 1;
 }
开发者ID:herumi,项目名称:misc,代码行数:7,代码来源:ascendvec.cpp

示例4:

TEST(VectorMapTest, EmptyTest)
{
	Vec v;
	ASSERT_TRUE(v.empty());
	ASSERT_EQ(0, v.size());
	ASSERT_TRUE(v.end() == v.find(10));
}
开发者ID:donut-lang,项目名称:Chisa,代码行数:7,代码来源:VectorMapTest.cpp

示例5: optimistic_median

// median of the nonzero elements of `s.homework', or `0' if no such elements exist
double optimistic_median(const Student_info& s)
{
    Vec<double> nonzero;
    remove_copy(s.homework.begin(), s.homework.end(),
                back_inserter(nonzero), 0);

    if (nonzero.empty())
        return grade(s.midterm, s.final, 0);
    else
        return grade(s.midterm, s.final, median(nonzero));
开发者ID:estiljr,项目名称:C--Intro,代码行数:11,代码来源:analysis.cpp

示例6: repack

    void repack() {
        // dump();

        const int oWidth = (m_vec.size() - 1 - 1) / 2, nWidth = 2 * oWidth; // half widths
        Vec v(2 * nWidth + 1 + 1);
        copy(m_vec.begin() + 1, m_vec.end(), v.begin() + oWidth + 1);
        if ( ! m_vec.empty())
            v[0] = m_vec[0];
        swap(m_vec, v);
        m_minKey -= oWidth; m_maxKey += oWidth;
    }
开发者ID:nodakai,项目名称:exp,代码行数:11,代码来源:arrayMap.cpp

示例7: pop

 T pop() {
     if (front->empty()) {
         js::Reverse(back->begin(), back->end());
         Vec *tmp = front;
         front = back;
         back = tmp;
     }
     T item = front->back();
     front->popBack();
     return item;
 }        
开发者ID:ThinkerYzu,项目名称:mozilla-central,代码行数:11,代码来源:jsworkers.cpp

示例8: nextFrBuf

void nextFrBuf(const Graph &g, Vec Fr, int rank, int size,  Matpair &buf, int offset )
{
    if (Fr.empty())
        return;
    int r, frNode;
    buf.clear();
    Vec::iterator i,j;
    for(i = Fr.begin(); i != Fr.end(); i++){
        frNode = *i - offset;
        for (j = g.adj[frNode].begin(); j != g.adj[frNode].end(); j++){
            r = *j/g.localNode();
            
            buf[r].push_back(make_pair(*i,*j));
        }
    }
}
开发者ID:jinzhang-zj,项目名称:parBFS,代码行数:16,代码来源:tdmpi.cpp

示例9: empty

 bool empty() { return front->empty() && back->empty(); }
开发者ID:ThinkerYzu,项目名称:mozilla-central,代码行数:1,代码来源:jsworkers.cpp

示例10: empty

 bool empty() { return vec.empty(); }
开发者ID:Tkachov,项目名称:ceu_pingus,代码行数:1,代码来源:path.hpp

示例11: append

 void append(uint32_t pos)
 {
     assert(v_.empty() ? pos == 0 : v_.back() < pos);
     v_.push_back(pos);
 }
开发者ID:herumi,项目名称:misc,代码行数:5,代码来源:ascendvec.cpp


注:本文中的Vec::empty方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。