aboutsummaryrefslogtreecommitdiffstats
path: root/nihil.generator
diff options
context:
space:
mode:
Diffstat (limited to 'nihil.generator')
-rw-r--r--nihil.generator/forward.ccm2
-rw-r--r--nihil.generator/generator.ccm2
-rw-r--r--nihil.generator/generator_promise_base.ccm2
-rw-r--r--nihil.generator/manual_lifetime.ccm6
4 files changed, 6 insertions, 6 deletions
diff --git a/nihil.generator/forward.ccm b/nihil.generator/forward.ccm
index 71e0ddd..2aa2448 100644
--- a/nihil.generator/forward.ccm
+++ b/nihil.generator/forward.ccm
@@ -21,6 +21,6 @@ namespace nihil {
export template <typename Ref,
typename Value = std::remove_cvref_t<Ref>,
typename Allocator = use_allocator_arg>
-class generator;
+struct generator;
} // namespace nihil
diff --git a/nihil.generator/generator.ccm b/nihil.generator/generator.ccm
index 7627052..a2fcafb 100644
--- a/nihil.generator/generator.ccm
+++ b/nihil.generator/generator.ccm
@@ -32,7 +32,7 @@ namespace nihil {
// TODO : make layout compatible promise casts possible
export template <typename Ref, typename Value, typename Alloc>
-class generator
+struct generator
{
using byte_allocator = byte_allocator_t<Alloc>;
diff --git a/nihil.generator/generator_promise_base.ccm b/nihil.generator/generator_promise_base.ccm
index 30c3011..6b11b40 100644
--- a/nihil.generator/generator_promise_base.ccm
+++ b/nihil.generator/generator_promise_base.ccm
@@ -24,7 +24,7 @@ template <typename Ref>
struct generator_promise_base
{
template <typename Ref2, typename Value, typename Alloc>
- friend class generator;
+ friend struct generator;
generator_promise_base *m_root;
std::coroutine_handle<> m_parent_or_leaf;
diff --git a/nihil.generator/manual_lifetime.ccm b/nihil.generator/manual_lifetime.ccm
index 4a383ad..44bc0a8 100644
--- a/nihil.generator/manual_lifetime.ccm
+++ b/nihil.generator/manual_lifetime.ccm
@@ -64,14 +64,14 @@ private:
};
template <typename T>
-class manual_lifetime<T &> {
+struct manual_lifetime<T &> {
manual_lifetime() noexcept = default;
~manual_lifetime() = default;
auto construct(this manual_lifetime &self, T &value) noexcept -> T &
{
self.m_value = std::addressof(value);
- return self.m_value;
+ return value;
}
auto destruct(this manual_lifetime &) noexcept -> void
@@ -88,7 +88,7 @@ private:
};
template <typename T>
-class manual_lifetime<T &&> {
+struct manual_lifetime<T &&> {
manual_lifetime() noexcept = default;
~manual_lifetime() = default;