#ifndef GITBASEOID_H #define GITBASEOID_H #include #include #include template class GitBaseOid : public GitBase { public: const GitOid &oid() const { return m_oid; } protected: GitBaseOid(T *raw, GitRepository *parent) : GitBase(raw, parent) ,m_oid(nullptr, parent) {} GitBaseOid(GitBaseOid &&other) : GitBase(std::move(other)) { m_oid = other.m_oid; other.m_oid = GitOid(); } GitBaseOid &operator=(GitBaseOid &&other) { if (&other != this) { m_oid = other.m_oid; other.m_oid = GitOid(); } return static_cast(GitBase::operator=(std::move(other))); } GitOid m_oid; }; #endif // GITBASEOID_H