Files
SimCore/include/SimCore/Identifier.hpp

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;
};
}