Move methods from proxy_type to PROXY_METHODS
This MR reorganises some helper method of the proxies used by the zipping machinery.
Specifically methods move into PROXY_METHODS
, the macro that generates the boilerplate inside proxies such as LHCb::Pr::Fitted::Forward::Proxy
, and out of LHCb::Pr::detail::proxy_type
, the utility template that inherits from these to generate proxies representing "rows" of "zips".
The advantage of this reorganisation is that the boilerplate functions can be used inside the proxies themselves, as was needed here, without an ugly CRTP hack. There we wanted this->loop_mask()
to be available inside the nHits()
proxy member, because calculating nHits()
involves ancestor relation traversal that is not safe for invalid entries.
Closes #59 (closed).