| 58 | } |
| 59 | |
| 60 | char *String::data() |
| 61 | { |
| 62 | using namespace matchit; |
| 63 | Id<char *> l; |
| 64 | Id<std::decay_t<decltype(remote)>> r; |
| 65 | return match(*this)( |
| 66 | pattern | asEnum<Local>(l) = expr(l), |
| 67 | pattern | asEnum<Remote>(r) = [&] |
| 68 | { return (*r).ptr; }); |
| 69 | } |
| 70 | |
| 71 | int32_t main() |
| 72 | { |