serialize: add SER_PARAMS_OPFUNC

This commit is contained in:
Anthony Towns
2023-09-11 18:36:11 +10:00
parent 33203f59b4
commit 5e5c8f86b6
3 changed files with 15 additions and 0 deletions

View File

@@ -1192,4 +1192,17 @@ static auto WithParams(const Params& params, T&& t)
return ParamsWrapper<Params, T>{params, t};
}
/**
* Helper macro for SerParams structs
*
* Allows you define SerParams instances and then apply them directly
* to an object via function call syntax, eg:
*
* constexpr SerParams FOO{....};
* ss << FOO(obj);
*/
#define SER_PARAMS_OPFUNC \
template <typename T> \
auto operator()(T&& t) const { return WithParams(*this, t); }
#endif // BITCOIN_SERIALIZE_H