summaryrefslogtreecommitdiff
path: root/src/map/magic-interpreter.hpp
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2014-10-13 13:16:34 -0700
committerBen Longbons <b.r.longbons@gmail.com>2014-10-13 14:03:46 -0700
commit780a0d771edbe21dcfa3405163ffbdf7f7fa4604 (patch)
treeac202254d015d2a2a28ab5bca60c3f5474d168ba /src/map/magic-interpreter.hpp
parenta5e0fe8204a8b3299507a645f3479e9ead6c6110 (diff)
downloadtmwa-780a0d771edbe21dcfa3405163ffbdf7f7fa4604.tar.gz
tmwa-780a0d771edbe21dcfa3405163ffbdf7f7fa4604.tar.bz2
tmwa-780a0d771edbe21dcfa3405163ffbdf7f7fa4604.tar.xz
tmwa-780a0d771edbe21dcfa3405163ffbdf7f7fa4604.zip
Convert container lookups to use Option<Borrowed<T>>
Diffstat (limited to 'src/map/magic-interpreter.hpp')
-rw-r--r--src/map/magic-interpreter.hpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/map/magic-interpreter.hpp b/src/map/magic-interpreter.hpp
index 7cdf7bf..09642cb 100644
--- a/src/map/magic-interpreter.hpp
+++ b/src/map/magic-interpreter.hpp
@@ -50,8 +50,14 @@ namespace magic
{
struct location_t
{
- map_local *m;
+ Borrowed<map_local> m;
int x, y;
+
+ // This constructor exists solely to work around the design constraints
+ // of sexpr::Variant<>. See comments in variant.tcc for future plans.
+ __attribute__((deprecated))
+ location_t() noexcept : m(borrow(undefined_gat)), x(), y() {}
+ location_t(Borrowed<map_local> m_, int x_, int y_) : m(m_), x(x_), y(y_) {}
};
struct AreaUnion