| 99 | struct PropertyTuple { |
| 100 | template <typename Fn> |
| 101 | void ForEach(Fn&& fn) const { |
| 102 | ForEachTupleMember(props_, fn); |
| 103 | } |
| 104 | |
| 105 | static_assert(all_same<typename Properties::Class...>::value, |
| 106 | "All properties must be properties of the same class"); |