diff options
Diffstat (limited to 'starts/meaning-vm/level-0')
-rw-r--r-- | starts/meaning-vm/level-0/baseref.hpp | 4 | ||||
-rw-r--r-- | starts/meaning-vm/level-0/common.hpp | 15 |
2 files changed, 14 insertions, 5 deletions
diff --git a/starts/meaning-vm/level-0/baseref.hpp b/starts/meaning-vm/level-0/baseref.hpp index 068ccfa..fbb7a28 100644 --- a/starts/meaning-vm/level-0/baseref.hpp +++ b/starts/meaning-vm/level-0/baseref.hpp @@ -74,6 +74,10 @@ public: operator level3::ref &() { return *reinterpret_cast<level3::ref*>(this); } operator level4::ref &() { return *reinterpret_cast<level4::ref*>(this); } operator level5::ref &() { return *reinterpret_cast<level5::ref*>(this); } + operator level6::ref &() { return *reinterpret_cast<level6::ref*>(this); } + operator level7::ref &() { return *reinterpret_cast<level7::ref*>(this); } + operator level8::ref &() { return *reinterpret_cast<level8::ref*>(this); } + operator level9::ref &() { return *reinterpret_cast<level9::ref*>(this); } bool operator==(ref const & other) const { return self.p == other.p; } bool operator!=(ref const & other) const { return self.p == other.p; } diff --git a/starts/meaning-vm/level-0/common.hpp b/starts/meaning-vm/level-0/common.hpp index 613028d..e06e478 100644 --- a/starts/meaning-vm/level-0/common.hpp +++ b/starts/meaning-vm/level-0/common.hpp @@ -28,9 +28,14 @@ struct concept; struct ref; } -namespace level1 { struct ref; template <typename> struct vref; } -namespace level2 { struct ref; template <typename> struct vref; } -namespace level3 { struct ref; template <typename> struct vref; } -namespace level4 { struct ref; template <typename> struct vref; } -namespace level5 { struct ref; template <typename> struct vref; } +namespace level1 { struct ref; } +namespace level2 { struct ref; } +namespace level3 { struct ref; } +namespace level4 { struct ref; } +namespace level5 { struct ref; } +namespace level6 { struct ref; } +namespace level7 { struct ref; } +namespace level8 { struct ref; } +namespace level9 { struct ref; } + } |