Coroutine which increases it's return value by every call
| 22 | |
| 23 | /// Coroutine which increases it's return value by every call |
| 24 | class CopyableIncreasingCoroutine { |
| 25 | std::size_t state = 0UL; |
| 26 | |
| 27 | public: |
| 28 | CopyableIncreasingCoroutine() { |
| 29 | } |
| 30 | |
| 31 | std::size_t operator()() { |
| 32 | return state++; |
| 33 | } |
| 34 | }; |
| 35 | |
| 36 | /// Functor which returns it's shared count |
| 37 | class SharedCountFunctor { |