diff --git a/doc/Jamfile b/doc/Jamfile index 7bd9dfc..0c9f98f 100644 --- a/doc/Jamfile +++ b/doc/Jamfile @@ -6,7 +6,8 @@ import asciidoctor ; html index.html : index.adoc ; -install html_ : index.html : html ; +install images : $(images) : html/images ; +install html_ : index.html : html : images ; pdf cobalt.pdf : index.adoc ; explicit cobalt.pdf ; @@ -14,18 +15,8 @@ explicit cobalt.pdf ; install pdf_ : cobalt.pdf : pdf ; explicit pdf_ ; -install images - : - images/awaitables.png - images/generators1.png - images/generators2.png - images/lazy_eager1.png - images/lazy_eager2.png - images/stackless1.png - images/stackless2.png - : - html/images - ; + + alias boostdoc ; explicit boostdoc ; diff --git a/doc/background/stackless.adoc b/doc/background/stackless.adoc index ac6e903..f79c730 100644 --- a/doc/background/stackless.adoc +++ b/doc/background/stackless.adoc @@ -45,7 +45,7 @@ ifndef::generate-diagram[] image::stackless1.png[] endif::[] -Coroutines can be implemented a stackful, which means that it allocates a fixes chunk of memory and stacks function frames similar to a thread. +Coroutines can be implemented as stackful, which means that it allocates a fixes chunk of memory and stacks function frames similar to a thread. C++20 coroutines are stackless, i.e. they only allocate their own frame and use the callers stack on resumption. Using our previous example: [source,cpp]