| 119 | } |
| 120 | void Resource::close(){ impl->close(impl); } |
| 121 | Resource::Resource(Resource& parent, Runnable cleanup) { |
| 122 | std::lock_guard<std::mutex> l(parent.impl->mutex); |
| 123 | if (!parent.impl->cleanup) |
| 124 | throw IllegalStateException(); |
| 125 | impl.reset(new Impl(parent.impl, cleanup)); |
| 126 | parent.impl->children.insert(impl); |
| 127 | } |
| 128 | void Resource::swap(Resource& rhs) { impl.swap(rhs.impl); } |
| 129 | Resource::Resource() {} |
| 130 | Resource::Resource(const Resource& rhs) : impl(rhs.impl) { } |
nothing calls this directly
no test coverage detected