Skip to content

Commit 440a88c

Browse files
committed
Add operator= for direct assignment to defaulted value
1 parent cc3ed65 commit 440a88c

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

provides/include/dumpster_v1/defaulted.hpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,10 @@ template <class Value, auto... defaults>
2121
dumpster_v1::defaulted<Value, defaults...>::operator Value &() {
2222
return value;
2323
}
24+
25+
template <class Value, auto... defaults>
26+
template <class Forwardable>
27+
Value &dumpster_v1::defaulted<Value, defaults...>::
28+
operator=(Forwardable &&rhs) {
29+
return value = rhs;
30+
}

provides/include/dumpster_v1/synopsis.hpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ template <class Value, auto... defaults> struct defaulted {
2323
/// Implicit conversion to reference for convenience.
2424
operator Value &();
2525

26+
/// Assigns given `rhs` to `value` member.
27+
template <class Forwardable> Value &operator=(Forwardable &&rhs);
28+
2629
/// The value is directly accessible as there is no reason to hide it.
2730
Value value;
2831
};

0 commit comments

Comments
 (0)