![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Class protected_fixedsizeBoost , Chapter 1. Coroutine2 , Stack allocation
|
![]() |
Important |
---|---|
Использованиеprotected_fixedsize_stackдорого. То есть запуск нового корутина с новым стеком стоит дорого; выделенный стек так же эффективен в использовании, как и любой другой стек. |
![]() |
Note |
---|---|
Приложенный< |
#include <boost/coroutine2/protected_fixedsize.hpp> struct protected_fixedsize { protected_fixesize(std::size_t size = traits_type::default_size()); stack_context allocate(); void deallocate( stack_context &); }
stack_context allocate()
<traits_type::minimum:size()
<=size
>и<!traits_type::is_unbounded()&&
(traits_type::maximum:size()>=size)
>.
Выделяет память не менее<size
>байтов и сохраняет указатель на стек и его фактический размер в<sctx
>. В зависимости от архитектуры (стек растет вниз/вверх) сохраненный адрес является самым высоким/самым низким адресом стека.
void deallocate( stack_context
& sctx)
<sctx.sp
>действительно,<traits_type::minimum:size()<=sctx.size
>и<!
traits_type::is_unbounded()
&&(
traits_type::maximum:size()
>=sctx.size)
>.
Распределяет пространство стека.
Статья Class protected_fixedsize раздела Chapter 1. Coroutine2 Stack allocation может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Stack allocation ::
реклама |