summaryrefslogtreecommitdiffstats
path: root/Source/cmUVHandlePtr.h
Commit message (Collapse)AuthorAgeFilesLines
* clang-tidy: Replace typedef with usingRegina Pfeifer2019-09-031-2/+2
|
* cmUVHandlePtr: Add cm::uv_loop_ptrKyle Edwards2019-04-251-1/+39
|
* clang-tidy: Use `= delete`Regina Pfeifer2019-01-291-1/+2
|
* clang-tidy: Use `= default`Regina Pfeifer2019-01-251-2/+2
| | | | | | Suppress some cases in `Source/cmGeneratorExpressionNode.cxx` and `Source/cmUVHandlePtr.h` where a few older compilers require a user-defined default constructor (with `{}`).
* cmUVHandlePtr: Use inherited constructorsRegina Pfeifer2018-12-151-15/+24
|
* Revise C++ coding style using clang-format-6.0Kitware Robot2018-06-011-12/+13
| | | | | | | | | | | | Run the `clang-format.bash` script to update all our C and C++ code to a new style defined by `.clang-format`. Use `clang-format` version 6.0. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* cmUVHandlePtr: Add uv_process_ptrBrad King2017-11-301-0/+10
|
* cmUVHandlePtr: Add uv_timer_ptrBrad King2017-11-301-0/+12
|
* Add RAII handles for libuv handle typesJustin Berger2017-11-291-0/+200
The `uv_*_t` handle types are closed by `uv_close`, but the semantics are tricky. Calling `uv_close` may not close immediately. Instead it hands ownership to the uv loop to which the handle is currently attached. When the loop decides to close it, a callback is used to allow the `uv_close` caller to free resources. Provide an abstraction layer as `cm::uv_*_ptr` types corresponding to the `uv_*_t` handle types. Each pointer is either empty (`nullptr`) or has an initialized handle attached to a loop. Use move semantics to ensure a single owner of the handle so that clients can predict when the handle is destroyed.