Hierarchical Builder with Reflection
I wrote a builder generator. It work also with derived classes.
Can use directly data members or methods, just by annotate them.
A short example:
class A
{
private:
[[=BuilderParam]]
int c_ = 10;
[[=BuilderMethod]]
void withBar(int bar) {
c_ = bar * 2;
}
public:
static auto builder() {
return makeBuilder<A>();
}
};
std::shared_ptr<A> a = A::builder()
.withBar(19)
.withC(20)
.build();
Full code:
[https://compiler-explorer.com/z/Pq94EKq9h](https://compiler-explorer.com/z/Pq94EKq9h)
https://redd.it/1tt5o76
@r_cpp
Post #25333
20