Container System 0.1.0
High-performance C++20 type-safe container framework with SIMD-accelerated serialization
Loading...
Searching...
No Matches
generator.h File Reference

C++20 coroutine generator for lazy sequence generation. More...

#include <coroutine>
#include <exception>
#include <iterator>
#include <utility>
#include <type_traits>
#include <memory>
Include dependency graph for generator.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kcenon::container::async::detail::generator_promise< T >
 Promise type for generator. More...
 
class  kcenon::container::async::generator< T >
 Forward declaration of generator. More...
 
class  kcenon::container::async::generator< T >::iterator
 Iterator for generator. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::container
 
namespace  kcenon::container::async
 
namespace  kcenon::container::async::detail
 

Functions

template<typename Range >
generator< typename std::ranges::range_value_t< Range > > kcenon::container::async::from_range (Range &&range)
 Create a generator from a range.
 
template<typename T >
generator< T > kcenon::container::async::take (generator< T > gen, size_t count)
 Create a generator that yields a fixed number of elements.
 

Detailed Description

C++20 coroutine generator for lazy sequence generation.

Provides a generator type for producing sequences of values lazily. Useful for streaming large data in chunks.

// Example usage:
generator<int> range(int start, int end) {
for (int i = start; i < end; ++i) {
co_yield i;
}
}
for (int value : range(0, 10)) {
// Process value
}
See also
kcenon::container::async::generator

Definition in file generator.h.