Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2021-03-02 13:56:39


Barrett Adair wrote:
> I don't like that I need to call describe_members multiple times to get static,
> non-static, data, and functions. I would appreciate the addition of mod_data
> and mod_nonstatic to keep the flags consistent. This is my only acceptance
> condition.

Thank you Barrett for taking the time to review.

The reason the static/nonstatic and data/function members are returned
separately is that the type of `pointer` changes. For nonstatic data, it's
M T::*. For static data, it's M*. For nonstatic function, it's R (T::*)(A...).
For static function, it's R (*)(A...).

Since one typically does things with `pointer` in the loop over members,
it's rarely the case that you want all of these at once, because the syntactic
form of the code manipulating them changes. So I've found it in practice
more convenient to separate them by default.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk