Size: a a a

2020 June 08

АК

Александр Караев... in pro.cxx
packed вообще
источник

L

Lee Armstrong in pro.cxx
Есть люди, кто ковырялся в cppcoro? Как запустить cppcoro::task и другую блокирующую функцию (цикл событий в libuv) в одном потоке? Есть cppcoro::sync_wait() но корутина отработает до запуска libuv цикла.
источник

AZ

Alexander Zaitsev in pro.cxx
Lee Armstrong
Есть люди, кто ковырялся в cppcoro? Как запустить cppcoro::task и другую блокирующую функцию (цикл событий в libuv) в одном потоке? Есть cppcoro::sync_wait() но корутина отработает до запуска libuv цикла.
он там CMake так и не запилил?
источник

L

Lee Armstrong in pro.cxx
Alexander Zaitsev
он там CMake так и не запилил?
Не-а
источник

AZ

Alexander Zaitsev in pro.cxx
отпиши плиз тогда в issue/PR, чтобы автор сделал это. А то мне надоело это безобразие вместо билд-системы для пожалуй одной из немногих библиотек для корутин на С++
источник

L

Lee Armstrong in pro.cxx
Alexander Zaitsev
отпиши плиз тогда в issue/PR, чтобы автор сделал это. А то мне надоело это безобразие вместо билд-системы для пожалуй одной из немногих библиотек для корутин на С++
Так писали же, не?
источник

AZ

Alexander Zaitsev in pro.cxx
Lee Armstrong
Так писали же, не?
так и ты отпиши, чтобы он видел, что народу оно надо. чем больше отписывается, тем лучше
источник

AZ

Alexander Zaitsev in pro.cxx
ещё и mention на него сделать, чтобы уведомление у него специально прилетело
источник

L

Lee Armstrong in pro.cxx
Окей
источник

m

magras in pro.cxx
Lee Armstrong
Есть люди, кто ковырялся в cppcoro? Как запустить cppcoro::task и другую блокирующую функцию (цикл событий в libuv) в одном потоке? Есть cppcoro::sync_wait() но корутина отработает до запуска libuv цикла.
Ты хочешь запустить два эвентлупа одновременно? Так нельзя. Если ты хочешь, чтобы все работало из одного потока, тебе нужно написать свой цикл, который по-очереди будет дергать два экзекютера. Но на мой взгляд так делать не стоит и лучше каждый экзекютер запускать в своем потоке. А еще лучше оставить только один экзекютер.
источник

D

Danya in pro.cxx
Цитата из книги Липпмана
Насколько это соответствует действительности?
Мне всегда казалось, что non-template member function у шаблона класса будут сгенерированы в любом случае, но будут отброшены компилятором/линкером, если не использовались
Хелп плез
источник

D

Danya in pro.cxx
by default, a member function of a class template is instantiated only if the program uses that member function. For example, this code
// instantiates Blob<int> and the initializer_list<int> constructor
Blob<int> squares = {0,1,2,3,4,5,6,7,8,9};
// instantiates Blob<int>::size() const
for (size_t i = 0; i != squares.size(); ++i)
   squares[i] = i*i; // instantiates Blob<int>::operator[](size_t)

instantiates the Blob<int> class and three of its member functions: operator[], size, and the initializer_list<int> constructor.
If a member function isn’t used, it is not instantiated. The fact that members are instantiated only if we use them lets us instantiate a class with a type that may not meet the requirements for some of the template’s operations (§ 9.2, p. 329).
By default, a member of an instantiated class template is instantiated only if the member is used.
источник

v

vehlwn in pro.cxx
Danya
by default, a member function of a class template is instantiated only if the program uses that member function. For example, this code
// instantiates Blob<int> and the initializer_list<int> constructor
Blob<int> squares = {0,1,2,3,4,5,6,7,8,9};
// instantiates Blob<int>::size() const
for (size_t i = 0; i != squares.size(); ++i)
   squares[i] = i*i; // instantiates Blob<int>::operator[](size_t)

instantiates the Blob<int> class and three of its member functions: operator[], size, and the initializer_list<int> constructor.
If a member function isn’t used, it is not instantiated. The fact that members are instantiated only if we use them lets us instantiate a class with a type that may not meet the requirements for some of the template’s operations (§ 9.2, p. 329).
By default, a member of an instantiated class template is instantiated only if the member is used.
Вектор же можно инстанцировать с некопируемым и немувабельным типом. Это ресайз нельзя инстанцировть.
источник

v

vehlwn in pro.cxx
Danya
Цитата из книги Липпмана
Насколько это соответствует действительности?
Мне всегда казалось, что non-template member function у шаблона класса будут сгенерированы в любом случае, но будут отброшены компилятором/линкером, если не использовались
Хелп плез
Да.
источник

D

Danya in pro.cxx
Тогда ещё один вопрос
источник

D

Danya in pro.cxx
when are static member functions of class templates instantiated? when the class itself is instantiated? or when the function is called?
источник

D

Danya in pro.cxx
i know that normal member functions are instantiated when called, not when the class itself is instantiated
источник

v

vehlwn in pro.cxx
Danya
when are static member functions of class templates instantiated? when the class itself is instantiated? or when the function is called?
Да.
источник

v

vehlwn in pro.cxx
Когда надо, тогда и инстанцируется.
источник

v

vehlwn in pro.cxx
Danya
i know that normal member functions are instantiated when called, not when the class itself is instantiated
normal mem function не может быть instantiated, потому что это очевидно функция и для нее генерируется код.
источник