Inspect aggregate members by name, count, and reference. Demonstrates member counting, compile-time member-name lookup, mutable member access, and aggregate traversal with for_each_member.
#include <string_view>
struct Person {
int age;
double score;
};
int main() {
Person person{42, 98.5};
bool visited_age = false;
bool visited_score = false;
age += 1;
if (name == "age") {
visited_age = true;
value += 1;
} else if (name == "score") {
visited_score = true;
}
});
return (person.age == 44 && visited_age && visited_score) ? 0 : 1;
}