DVarId.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 
5 namespace iv
6 {
7 
8 class DVarId : public RuntimeId< DVarId >
9 {
10 public:
11  static constexpr char TypeName[] = "DVarId";
14 };
15 
16 template< class Type >
17 class DVarIdT : public DVarId
18 {
19 public:
20  using DVarId::DVarId;
21  explicit DVarIdT( DVarId const & id, Type initial ) : DVarId( id ), _initial( initial ){}
22 
23  Type initial(){ return this->_initial; }
24 
25 private:
26  Type _initial;
27 };
28 
29 }
30 
31 namespace std
32 {
33 template<>
34 struct hash< iv::DVarId > : public iv::hash< iv::DVarId >{};
35 }