深入设模式之:迭代器模式之编写一个兼容STL 算法的Iterator (二)

2014-11-24 03:04:36 · 作者: · 浏览: 3
eturn table_->get(position_);
}


bool operator == (const Iterator & it)const
{
return position_ == it.position_;
}


bool operator != (const Iterator & it)const
{
return position_ != it.position_;
}


private:
Table * table_;


int position_;
};


public:
Iterator begin()
{
return Iterator(this, BEGIN_SEAT);
}


Iterator end()
{
return Iterator(this, INVALID_SEAT);
}
};


bool FindNullSeat(Seat * seat)
{
return seat->no_ == 3;
}


int main(int , char **)
{
Table table;
Table::Iterator seat = std::find_if(table.begin(), table.end(), FindNullSeat);


return 0;
}