summaryrefslogtreecommitdiff
path: root/starts/meaning-vm/level-2/baseref.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'starts/meaning-vm/level-2/baseref.hpp')
-rw-r--r--starts/meaning-vm/level-2/baseref.hpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/starts/meaning-vm/level-2/baseref.hpp b/starts/meaning-vm/level-2/baseref.hpp
index c66d1a7..8fbcc91 100644
--- a/starts/meaning-vm/level-2/baseref.hpp
+++ b/starts/meaning-vm/level-2/baseref.hpp
@@ -20,7 +20,11 @@ struct baseref : public level1::baseref<ref>
static ref & context() { return level2::context(); }
template <typename... Refs>
- ref operator()(Refs... args) { return level2::dohabit(self, {args.ptr()...}); }
+ ref operator()(ref first, Refs... rest) { return level2::dohabit(self, {first, rest...}); }
+ template <typename... Pairs>
+ ref operator()(std::initializer_list<ref> first, Pairs... rest) { return level2::dohabit(self, {first, rest...}); }
+
+ ref operator()() { return level2::dohabit(self); }
};
}