| 566 | template<class T> inline auto get() const -> T; |
| 567 | |
| 568 | auto release_ref() -> own<Ref> { |
| 569 | assert(is_ref()); |
| 570 | auto ref = impl_.ref; |
| 571 | impl_.ref = nullptr; |
| 572 | return own<Ref>(ref); |
| 573 | } |
| 574 | |
| 575 | auto copy() const -> Val { |
| 576 | if (is_ref() && impl_.ref != nullptr) { |