/src/CMake/Source/cmUVStream.h
Line | Count | Source |
1 | | /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying |
2 | | file LICENSE.rst or https://cmake.org/licensing for details. */ |
3 | | #pragma once |
4 | | |
5 | | #include <cassert> |
6 | | #include <functional> |
7 | | #include <istream> |
8 | | |
9 | | #include <cm/memory> |
10 | | |
11 | | #include <cm3p/uv.h> |
12 | | |
13 | | #include "cmUVHandlePtr.h" |
14 | | #include "cmUVStreambuf.h" |
15 | | |
16 | | template <typename CharT, typename Traits = std::char_traits<CharT>> |
17 | | class cmBasicUVIStream : public std::basic_istream<CharT> |
18 | | { |
19 | | public: |
20 | | cmBasicUVIStream(); |
21 | | cmBasicUVIStream(uv_stream_t* stream); |
22 | | |
23 | | bool is_open() const; |
24 | | |
25 | | void open(uv_stream_t* stream); |
26 | | |
27 | | void close(); |
28 | | |
29 | | private: |
30 | | cmBasicUVStreambuf<CharT, Traits> Buffer; |
31 | | }; |
32 | | |
33 | | template <typename CharT, typename Traits> |
34 | | cmBasicUVIStream<CharT, Traits>::cmBasicUVIStream() |
35 | | : std::basic_istream<CharT, Traits>(&this->Buffer) |
36 | | { |
37 | | } |
38 | | |
39 | | template <typename CharT, typename Traits> |
40 | | cmBasicUVIStream<CharT, Traits>::cmBasicUVIStream(uv_stream_t* stream) |
41 | 0 | : std::basic_istream<CharT, Traits>(&this->Buffer) |
42 | 0 | { |
43 | 0 | this->open(stream); |
44 | 0 | } |
45 | | |
46 | | template <typename CharT, typename Traits> |
47 | | bool cmBasicUVIStream<CharT, Traits>::is_open() const |
48 | | { |
49 | | return this->Buffer.is_open(); |
50 | | } |
51 | | |
52 | | template <typename CharT, typename Traits> |
53 | | void cmBasicUVIStream<CharT, Traits>::open(uv_stream_t* stream) |
54 | 0 | { |
55 | 0 | this->Buffer.open(stream); |
56 | 0 | } |
57 | | |
58 | | template <typename CharT, typename Traits> |
59 | | void cmBasicUVIStream<CharT, Traits>::close() |
60 | | { |
61 | | this->Buffer.close(); |
62 | | } |
63 | | |
64 | | using cmUVIStream = cmBasicUVIStream<char>; |
65 | | |
66 | | class cmUVStreamReadHandle |
67 | | { |
68 | | private: |
69 | | std::vector<char> Buffer; |
70 | | std::function<void(std::vector<char>)> OnRead; |
71 | | std::function<void()> OnFinish; |
72 | | |
73 | | template <typename ReadCallback, typename FinishCallback> |
74 | | friend std::unique_ptr<cmUVStreamReadHandle> cmUVStreamRead( |
75 | | uv_stream_t* stream, ReadCallback onRead, FinishCallback onFinish); |
76 | | }; |
77 | | |
78 | | template <typename ReadCallback, typename FinishCallback> |
79 | | std::unique_ptr<cmUVStreamReadHandle> cmUVStreamRead(uv_stream_t* stream, |
80 | | ReadCallback onRead, |
81 | | FinishCallback onFinish) |
82 | 0 | { |
83 | 0 | auto handle = cm::make_unique<cmUVStreamReadHandle>(); |
84 | 0 | handle->OnRead = std::move(onRead); |
85 | 0 | handle->OnFinish = std::move(onFinish); |
86 | |
|
87 | 0 | stream->data = handle.get(); |
88 | 0 | uv_read_start( |
89 | 0 | stream, |
90 | 0 | [](uv_handle_t* s, std::size_t suggestedSize, uv_buf_t* buffer) { |
91 | 0 | auto* data = static_cast<cmUVStreamReadHandle*>(s->data); |
92 | 0 | data->Buffer.resize(suggestedSize); |
93 | 0 | buffer->base = data->Buffer.data(); |
94 | 0 | buffer->len = suggestedSize; |
95 | 0 | }, Unexecuted instantiation: cmSystemTools.cxx:_ZZ14cmUVStreamReadIZZN13cmSystemTools16RunSingleCommandERKNSt3__16vectorINS1_12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS6_IS8_EEEEPS8_SD_PiPKcNS0_12OutputOptionENS1_6chrono8durationIdNS1_5ratioILl1ELl1EEEEEN15cmProcessOutput8EncodingEENK3$_1clEP11uv_stream_sSD_RNS2_IcS7_EEiPFvRKS8_ERbEUlSS_E_ZZNS0_16RunSingleCommandESC_SD_SD_SE_SG_SH_SM_SO_ENKSP_clESR_SD_ST_iSX_SY_EUlvE_ENS1_10unique_ptrI20cmUVStreamReadHandleNS1_14default_deleteIS12_EEEESR_T_T0_ENKUlP11uv_handle_smP8uv_buf_tE_clES19_mS1B_ Unexecuted instantiation: cmSystemTools.cxx:_ZZ14cmUVStreamReadIZZN13cmSystemTools11WaitForLineEP9uv_loop_sP11uv_stream_sS4_RNSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEERNS5_6vectorIcSA_EESF_ENK3$_0clES4_RZNS0_11WaitForLineES2_S4_S4_SC_SF_SF_E8ReadDataEUlSE_E_ZZNS0_11WaitForLineES2_S4_S4_SC_SF_SF_ENKSG_clES4_SI_EUlvE_ENS5_10unique_ptrI20cmUVStreamReadHandleNS5_14default_deleteISM_EEEES4_T_T0_ENKUlP11uv_handle_smP8uv_buf_tE_clEST_mSV_ Unexecuted instantiation: cmExecuteProcessCommand.cxx:cmUVStreamRead<cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_1, cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_2>(uv_stream_s*, cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_1, cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_2)::{lambda(uv_handle_s*, unsigned long, uv_buf_t*)#1}::operator()(uv_handle_s*, unsigned long, uv_buf_t*) constUnexecuted instantiation: cmExecuteProcessCommand.cxx:cmUVStreamRead<cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_3, cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_4>(uv_stream_s*, cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_3, cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_4)::{lambda(uv_handle_s*, unsigned long, uv_buf_t*)#1}::operator()(uv_handle_s*, unsigned long, uv_buf_t*) const |
96 | 0 | [](uv_stream_t* s, ssize_t nread, uv_buf_t const* buffer) { |
97 | 0 | auto* data = static_cast<cmUVStreamReadHandle*>(s->data); |
98 | 0 | if (nread > 0) { |
99 | 0 | (void)buffer; |
100 | 0 | assert(buffer->base == data->Buffer.data()); |
101 | 0 | data->Buffer.resize(nread); |
102 | 0 | data->OnRead(std::move(data->Buffer)); |
103 | 0 | } else if (nread < 0 /*|| nread == UV_EOF*/) { |
104 | 0 | data->OnFinish(); |
105 | 0 | uv_read_stop(s); |
106 | 0 | } |
107 | 0 | }); Unexecuted instantiation: cmSystemTools.cxx:cmUVStreamRead<cmSystemTools::RunSingleCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, int*, char const*, cmSystemTools::OutputOption, std::__1::chrono::duration<double, std::__1::ratio<1l, 1l> >, cmProcessOutput::Encoding)::$_1::operator()(uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<char, std::__1::allocator<char> >&, int, void (*)(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&), bool&) const::{lambda(std::__1::vector<char, std::__1::allocator<char> >)#1}, cmSystemTools::RunSingleCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, int*, char const*, cmSystemTools::OutputOption, std::__1::chrono::duration<double, std::__1::ratio<1l, 1l> >, cmProcessOutput::Encoding)::$_1::operator()(uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<char, std::__1::allocator<char> >&, int, void (*)(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&), bool&) const::{lambda()#1}>(uv_stream_s*, cmSystemTools::RunSingleCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, int*, char const*, cmSystemTools::OutputOption, std::__1::chrono::duration<double, std::__1::ratio<1l, 1l> >, cmProcessOutput::Encoding)::$_1::operator()(uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<char, std::__1::allocator<char> >&, int, void (*)(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&), bool&) const::{lambda(std::__1::vector<char, std::__1::allocator<char> >)#1}, cmSystemTools::RunSingleCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, int*, char const*, cmSystemTools::OutputOption, std::__1::chrono::duration<double, std::__1::ratio<1l, 1l> >, cmProcessOutput::Encoding)::$_1::operator()(uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<char, std::__1::allocator<char> >&, int, void (*)(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&), bool&) const::{lambda()#1})::{lambda(uv_stream_s*, long, uv_buf_t const*)#1}::operator()(uv_stream_s*, long, uv_buf_t) constUnexecuted instantiation: cmSystemTools.cxx:cmUVStreamRead<cmSystemTools::WaitForLine(uv_loop_s*, uv_stream_s*, uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&)::$_0::operator()(uv_stream_s*, cmSystemTools::WaitForLine(uv_loop_s*, uv_stream_s*, uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&)::ReadData&) const::{lambda(std::__1::vector<char, std::__1::allocator<char> >)#1}, cmSystemTools::WaitForLine(uv_loop_s*, uv_stream_s*, uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&)::$_0::operator()(uv_stream_s*, cmSystemTools::WaitForLine(uv_loop_s*, uv_stream_s*, uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&)::ReadData&) const::{lambda()#1}>(uv_stream_s*, cmSystemTools::WaitForLine(uv_loop_s*, uv_stream_s*, uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&)::$_0::operator()(uv_stream_s*, cmSystemTools::WaitForLine(uv_loop_s*, uv_stream_s*, uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&)::ReadData&) const::{lambda(std::__1::vector<char, std::__1::allocator<char> >)#1}, cmSystemTools::WaitForLine(uv_loop_s*, uv_stream_s*, uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&)::$_0::operator()(uv_stream_s*, cmSystemTools::WaitForLine(uv_loop_s*, uv_stream_s*, uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&)::ReadData&) const::{lambda()#1})::{lambda(uv_stream_s*, long, uv_buf_t const*)#1}::operator()(uv_stream_s*, long, uv_buf_t) constUnexecuted instantiation: cmExecuteProcessCommand.cxx:cmUVStreamRead<cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_1, cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_2>(uv_stream_s*, cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_1, cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_2)::{lambda(uv_stream_s*, long, uv_buf_t const*)#1}::operator()(uv_stream_s*, long, uv_buf_t const*) constUnexecuted instantiation: cmExecuteProcessCommand.cxx:cmUVStreamRead<cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_3, cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_4>(uv_stream_s*, cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_3, cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_4)::{lambda(uv_stream_s*, long, uv_buf_t const*)#1}::operator()(uv_stream_s*, long, uv_buf_t const*) const |
108 | |
|
109 | 0 | return handle; |
110 | 0 | } Unexecuted instantiation: cmSystemTools.cxx:std::__1::unique_ptr<cmUVStreamReadHandle, std::__1::default_delete<cmSystemTools::RunSingleCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, int*, char const*, cmSystemTools::OutputOption, std::__1::chrono::duration<double, std::__1::ratio<1l, 1l> >, cmProcessOutput::Encoding)::$_1::operator()(uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<char, std::__1::allocator<char> >&, int, void (*)(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&), bool&) const::{lambda()#1}> > cmUVStreamRead<cmSystemTools::RunSingleCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, int*, char const*, cmSystemTools::OutputOption, std::__1::chrono::duration<double, std::__1::ratio<1l, 1l> >, cmProcessOutput::Encoding)::$_1::operator()(uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<char, std::__1::allocator<char> >&, int, void (*)(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&), bool&) const::{lambda(std::__1::vector<char, std::__1::allocator<char> >)#1}, cmSystemTools::RunSingleCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, int*, char const*, cmSystemTools::OutputOption, std::__1::chrono::duration<double, std::__1::ratio<1l, 1l> >, cmProcessOutput::Encoding)::$_1::operator()(uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<char, std::__1::allocator<char> >&, int, void (*)(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&), bool&) const::{lambda()#1}>(uv_stream_s*, cmSystemTools::RunSingleCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, int*, char const*, cmSystemTools::OutputOption, std::__1::chrono::duration<double, std::__1::ratio<1l, 1l> >, cmProcessOutput::Encoding)::$_1::operator()(uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<char, std::__1::allocator<char> >&, int, void (*)(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&), bool&) const::{lambda(std::__1::vector<char, std::__1::allocator<char> >)#1}, cmSystemTools::RunSingleCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, int*, char const*, cmSystemTools::OutputOption, std::__1::chrono::duration<double, std::__1::ratio<1l, 1l> >, cmProcessOutput::Encoding)::$_1::operator()(uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<char, std::__1::allocator<char> >&, int, void (*)(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&), bool&) const::{lambda()#1})Unexecuted instantiation: cmSystemTools.cxx:std::__1::unique_ptr<cmUVStreamReadHandle, std::__1::default_delete<cmSystemTools::WaitForLine(uv_loop_s*, uv_stream_s*, uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&)::$_0::operator()(uv_stream_s*, cmSystemTools::WaitForLine(uv_loop_s*, uv_stream_s*, uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&)::ReadData&) const::{lambda()#1}> > cmUVStreamRead<cmSystemTools::WaitForLine(uv_loop_s*, uv_stream_s*, uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&)::$_0::operator()(uv_stream_s*, cmSystemTools::WaitForLine(uv_loop_s*, uv_stream_s*, uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&)::ReadData&) const::{lambda(std::__1::vector<char, std::__1::allocator<char> >)#1}, cmSystemTools::WaitForLine(uv_loop_s*, uv_stream_s*, uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&)::$_0::operator()(uv_stream_s*, cmSystemTools::WaitForLine(uv_loop_s*, uv_stream_s*, uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&)::ReadData&) const::{lambda()#1}>(uv_stream_s*, cmSystemTools::WaitForLine(uv_loop_s*, uv_stream_s*, uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&)::$_0::operator()(uv_stream_s*, cmSystemTools::WaitForLine(uv_loop_s*, uv_stream_s*, uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&)::ReadData&) const::{lambda(std::__1::vector<char, std::__1::allocator<char> >)#1}, cmSystemTools::WaitForLine(uv_loop_s*, uv_stream_s*, uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&)::$_0::operator()(uv_stream_s*, cmSystemTools::WaitForLine(uv_loop_s*, uv_stream_s*, uv_stream_s*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&, std::__1::vector<char, std::__1::allocator<char> >&)::ReadData&) const::{lambda()#1})Unexecuted instantiation: cmExecuteProcessCommand.cxx:std::__1::unique_ptr<cmUVStreamReadHandle, std::__1::default_delete<cmUVStreamReadHandle> > cmUVStreamRead<cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_1, cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_2>(uv_stream_s*, cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_1, cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_2) Unexecuted instantiation: cmExecuteProcessCommand.cxx:std::__1::unique_ptr<cmUVStreamReadHandle, std::__1::default_delete<cmUVStreamReadHandle> > cmUVStreamRead<cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_3, cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_4>(uv_stream_s*, cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_3, cmExecuteProcessCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, cmExecutionStatus&)::$_4) |