Remove WithParams serialization helper

This commit is contained in:
MarcoFalke
2023-09-18 14:02:30 +02:00
parent ffffb4af83
commit 99990194ce
2 changed files with 16 additions and 23 deletions

View File

@@ -214,11 +214,11 @@ const Out& AsBase(const In& x)
* }
* };
* which would then be invoked as
* READWRITE(WithParams(BarParameter{...}, Using<FooFormatter>(obj.foo)))
* READWRITE(BarParameter{...}(Using<FooFormatter>(obj.foo)))
*
* parameter(obj) can be invoked anywhere in the call stack; it is
* passed down recursively into all serialization code, until another
* WithParams overrides it.
* serialization parameter overrides it.
*
* Parameters will be implicitly converted where appropriate. This means that
* "parent" serialization code can use a parameter that derives from, or is
@@ -1182,17 +1182,6 @@ public:
}
};
/**
* Return a wrapper around t that (de)serializes it with specified parameter params.
*
* See FORMATTER_METHODS_PARAMS for more information on serialization parameters.
*/
template <typename Params, typename T>
static auto WithParams(const Params& params, T&& t)
{
return ParamsWrapper<Params, T>{params, t};
}
/**
* Helper macro for SerParams structs
*
@@ -1202,8 +1191,16 @@ static auto WithParams(const Params& params, T&& t)
* constexpr SerParams FOO{....};
* ss << FOO(obj);
*/
#define SER_PARAMS_OPFUNC \
template <typename T> \
auto operator()(T&& t) const { return WithParams(*this, t); }
#define SER_PARAMS_OPFUNC \
/** \
* Return a wrapper around t that (de)serializes it with specified parameter params. \
* \
* See FORMATTER_METHODS_PARAMS for more information on serialization parameters. \
*/ \
template <typename T> \
auto operator()(T&& t) const \
{ \
return ParamsWrapper{*this, t}; \
}
#endif // BITCOIN_SERIALIZE_H