diff options
author | olpc user <olpc@xo-5d-f7-86.localdomain> | 2019-11-26 02:48:08 -0800 |
---|---|---|
committer | olpc user <olpc@xo-5d-f7-86.localdomain> | 2019-11-26 02:48:08 -0800 |
commit | d5e8c913a0c3b63ef7eadea41ec1818548f5f4cf (patch) | |
tree | f307d47cdb24a19390f6b79f7fede8facfff2d51 /starts/meaning-vm/level-2-wip-stmtexprs/baseref.hpp | |
parent | d4976b3e6fddec7a8ee010a6278e5cbe005542b4 (diff) | |
download | standingwithresilience-d5e8c913a0c3b63ef7eadea41ec1818548f5f4cf.tar.gz standingwithresilience-d5e8c913a0c3b63ef7eadea41ec1818548f5f4cf.zip |
this approach to level 2 is just taking too long to plan, may abandon
Diffstat (limited to 'starts/meaning-vm/level-2-wip-stmtexprs/baseref.hpp')
-rw-r--r-- | starts/meaning-vm/level-2-wip-stmtexprs/baseref.hpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/starts/meaning-vm/level-2-wip-stmtexprs/baseref.hpp b/starts/meaning-vm/level-2-wip-stmtexprs/baseref.hpp new file mode 100644 index 0000000..84c9c13 --- /dev/null +++ b/starts/meaning-vm/level-2-wip-stmtexprs/baseref.hpp @@ -0,0 +1,23 @@ +#pragma once + +#include "common.hpp" +#include "../level-1/ref.hpp" +#include "statementref.hpp" + +namespace intellect { +namespace level2 { + +template <typename ref> +struct baseref : public level1::baseref<ref> +{ + using level1::baseref<ref>::baseref; + baseref(level1::ref other) : level1::baseref<ref>(other.ptr()) { } + operator level1::ref() { return ptr(); } + + statementref operator=(ref other) { return assignop(self, other); } + statementref operator,(ref other) { return commaop(self, other); } + ref operator[](ref other) { return subop(self, other); } +} + +} +} |