// ********************************************************************** // // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. // // This copy of Ice is licensed to you under the terms described in the // ICE_LICENSE file included in this distribution. // // ********************************************************************** #ifndef FREEZE_EVICTOR_ITERATOR_I_H #define FREEZE_EVICTOR_ITERATOR_I_H #include #include #include namespace Freeze { class TransactionI; typedef IceUtil::Handle TransactionIPtr; class ObjectStoreBase; class EvictorIteratorI : public EvictorIterator { public: EvictorIteratorI(ObjectStoreBase*, const TransactionIPtr&, Ice::Int); virtual bool hasNext(); virtual Ice::Identity next(); private: std::vector::const_iterator nextBatch(); ObjectStoreBase* _store; size_t _batchSize; std::vector::const_iterator _batchIterator; Key _key; std::vector _batch; bool _more; bool _initialized; TransactionIPtr _tx; }; } #endif