| 619 | return _val; |
| 620 | } |
| 621 | void swap(handle& b) |
| 622 | { |
| 623 | using std::swap; |
| 624 | swap(b._val, _val); // can throw, we are safe here. |
| 625 | swap(b._empty, _empty); // should not throw: if you cannot swap two |
| 626 | // bools without throwing... It's a lost cause anyway! |
| 627 | } |
| 628 | |
| 629 | T& operator->() { return _val; } |
| 630 | const T& operator->() const { return _val; } |