#ifndef INDEXER_COMMAND_LIST_H #define INDEXER_COMMAND_LIST_H #include #include #include #include "data/indexer/IndexerCommand.h" class IndexerCommandList { public: void addCommand(std::shared_ptr command); size_t size() const; void shuffle(); std::shared_ptr consumeCommand(); std::vector> getAllCommands(); private: std::deque> m_commands; std::mutex m_commandsMutex; std::set m_commandIndex; }; #endif // INDEXER_COMMAND_LIST_H