38 lines
690 B
C++
38 lines
690 B
C++
#pragma once
|
|
|
|
|
|
#include <SimCore/SimCore.hpp>
|
|
#include <condition_variable>
|
|
#include <cstddef>
|
|
#include <list>
|
|
#include <SimCore/Identifier.hpp>
|
|
#include <memory>
|
|
#include <mutex>
|
|
|
|
namespace SimCore {
|
|
|
|
class IdentifierMaker{
|
|
public:
|
|
IdentifierMaker();
|
|
|
|
std::shared_ptr<SimCore::Identifier> getNewIdentifier(std::uint32_t parent,SimCore::ObjectSource);
|
|
|
|
bool isInList(std::shared_ptr<SimCore::Identifier>);
|
|
|
|
size_t size();
|
|
|
|
private:
|
|
std::list<std::shared_ptr<SimCore::Identifier>> IDList_;
|
|
bool ObjectSource_;
|
|
|
|
mutable std::mutex mx_;
|
|
std::condition_variable c;
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|