#pragma once #include "dll_macro.h" #include #include struct innerIdentifier; class DLL_API Identifier { public: Identifier(std::shared_ptr inner); //Identifier(params string[] identifiers); //Identifier(Identifier identifier, params string[] extensions) int CompareTo(Identifier other); //static void CheckIdentifiers(IEnumerable identifiers) std::string ToString(); int GetHashCode(); bool operator==(const Identifier& other) const; bool operator!=(const Identifier& other) const; bool operator<(const Identifier& id) const; bool operator>(const Identifier& id) const; bool isNull() const; private: std::shared_ptr inner; };