File: statebase1.yo

package info (click to toggle)
c%2B%2B-annotations 13.02.02-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,576 kB
  • sloc: cpp: 25,297; makefile: 1,523; ansic: 165; sh: 126; perl: 90; fortran: 27
file content (15 lines) | stat: -rw-r--r-- 816 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Since the coroutine handler's state classes can often use the shown minimal
implementations for its members, it might be attractive to define those
members in a separate base-class, thus simplifying the state class's interface
and implementation.

Looking at the tt(Fibo::State) class, its members tt(initial_suspend,
final_suspend) and tt(unhandled_exception) are good candidates for such a base
class. By defining the base class as a class template, receiving the coroutine
handler's class name and the handler's state class name as its template type
parameters then it can also provide the handler's tt(get_return_object)
member. 

Here is how this base class can be defined. It is used by the coroutine
handler's state classes developed in this chapter:
    verbinsert(-s4 //base demo/promisebase/promisebase.h)