Commits

Benjamin Kietzman authored 676c9020e87
ARROW-13097: [C++] Provide simple reflection utility Provides functions for enumerating struct's data members, which enables reduction of boilerplate since many operations (equality comparison, serialization, ...) can be reduced to a generic loop over this enumeration of members. ```c++ struct Person { int age; std::string name; }; static auto kPersonProperties = MakeProperties(DataMember("age", &Person::age), DataMember("name", &Person::name)); bool operator==(const Person& l, const Person& r) { return EqualsImpl<Person>{l, r, kPersonProperties}.equal_; } ``` Closes #10551 from bkietz/13097-Provide-a-simple-reflecti Authored-by: Benjamin Kietzman <bengilgit@gmail.com> Signed-off-by: Benjamin Kietzman <bengilgit@gmail.com>