We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 90dfca3 commit eafab25Copy full SHA for eafab25
1 file changed
src/libutil/include/nix/util/serialise.hh
@@ -381,18 +381,27 @@ struct LengthSource : Source
381
*/
382
struct LambdaSink : Sink
383
{
384
- typedef std::function<void(std::string_view data)> lambda_t;
+ typedef std::function<void(std::string_view data)> data_t;
385
+ typedef std::function<void()> cleanup_t;
386
- lambda_t lambda;
387
+ data_t dataFun;
388
+ cleanup_t cleanupFun;
389
- LambdaSink(const lambda_t & lambda)
- : lambda(lambda)
390
+ LambdaSink(
391
+ const data_t & dataFun, const cleanup_t & cleanupFun = []() {})
392
+ : dataFun(dataFun)
393
+ , cleanupFun(cleanupFun)
394
+ {
395
+ }
396
+
397
+ ~LambdaSink()
398
399
+ cleanupFun();
400
}
401
402
void operator()(std::string_view data) override
403
- lambda(data);
404
+ dataFun(data);
405
406
};
407
0 commit comments