idol
A C++ Framework for Optimization
Loading...
Searching...
No Matches
ObjectId.h
1//
2// Created by henri on 27/01/23.
3//
4
5#ifndef IDOL_OBJECTID_H
6#define IDOL_OBJECTID_H
7
8#include <list>
9#include <string>
10
11namespace idol {
12
13 template<class T>
14 class Versions;
15
16 template<class T>
17 class ObjectId;
18}
19
20template<class T>
22 const typename std::list<Versions<T>>::iterator m_it;
23 unsigned int m_id;
24 const std::string m_name;
25public:
26 ObjectId(typename std::list<Versions<T>>::iterator t_it, unsigned int t_id, std::string t_name)
27 : m_it(t_it), m_id(t_id), m_name(std::move(t_name)) {}
28
29 auto& versions() { return *m_it; }
30 [[nodiscard]] const auto& versions() const { return *m_it; }
31
32 [[nodiscard]] unsigned int id() const { return m_id; }
33
34 [[nodiscard]] const auto& name() const { return m_name; }
35};
36
37#endif //IDOL_OBJECTID_H