35 lines
849 B
C++
35 lines
849 B
C++
#pragma once
|
|
|
|
|
|
#include <SimCore/SimCore.hpp>
|
|
#include <SimCore/UtilFunctions.hpp>
|
|
#include <iterator>
|
|
#include <utility>
|
|
#include <loguru.hpp>
|
|
namespace SimCore {
|
|
|
|
class Identifier{
|
|
public:
|
|
Identifier() = default;
|
|
Identifier(int number,SimCore::ObjectSource ObjectSource) ;
|
|
Identifier(std::pair<int, SimCore::ObjectSource> id);
|
|
Identifier(std::string str);
|
|
|
|
|
|
int getNumber();
|
|
SimCore::ObjectSource getObjectSource();
|
|
bool isExternal();
|
|
bool isValid();
|
|
|
|
std::pair<int, SimCore::ObjectSource> getPair();
|
|
|
|
std::string serialize();
|
|
|
|
friend bool operator==(const Identifier &lhs,const Identifier &rhs);
|
|
|
|
private:
|
|
SimCore::ObjectSource objectSource_;
|
|
int number_ = 0;
|
|
};
|
|
}
|