Re: Using lambda or functor as match_condition with boost::asio::read_until()
Lipódi László via Boost-users <[email protected]> Tue, 28 Oct 2025 14:39:13 +0000
| Newsgroups | gmane.comp.lib.boost.user |
|---|---|
| Message-ID | <BFDz7I6zY0EuSOkfPPSEuz51tmTIEJ5n8XcxnF_5aroxxLHQJ0yLMikTvf6vOBwGhzZCLGspQCOaL43LbCFzF48BjRawgm5whQmXgJUb-Us=@proton.me> |
SGkhDQoNCkFjY29yZGluZyB0byBodHRwczovL3d3dy5ib29zdC5vcmcvZG9jL2xpYnMvbGF0ZXN0 L2RvYy9odG1sL2Jvb3N0X2FzaW8vcmVmZXJlbmNlL3JlYWRfdW50aWwvb3ZlcmxvYWQxNi5odG1s DQoNCiJUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgaXNfbWF0Y2hfY29uZGl0aW9u IHR5cGUgdHJhaXQgZXZhbHVhdGVzIHRvIHRydWUgZm9yIGZ1bmN0aW9uIHBvaW50ZXJzIGFuZCBm dW5jdGlvbiBvYmplY3RzIHdpdGggYSByZXN1bHRfdHlwZSB0eXBlZGVmLiBJdCBtdXN0IGJlIHNw ZWNpYWxpc2VkIGZvciBvdGhlciB1c2VyLWRlZmluZWQgZnVuY3Rpb24gb2JqZWN0cy4iDQoNCk9u IFR1ZXNkYXksIE9jdG9iZXIgMjh0aCwgMjAyNSBhdCAxNTozMSwgS2xlYnNjaCwgTWFyaW8gdmlh IEJvb3N0LXVzZXJzIDxib29zdC11c2Vyc0BsaXN0cy5ib29zdC5vcmc+IHdyb3RlOg0KDQo+IEhl bGxvLA0KPiANCj4gSSB3YW50IHRvIHVzZSBib29zdDo6YXNpbzo6cmVhZF91bnRpbCgpIGFuZCBw YXNzIGEgZnVuY3RvciBhcyBtYXRjaCBjb25kaXRpb24uIEJ1dCBJIGRvbid0IGdldCBpdCB0byBj b21waWxlLg0KPiANCj4gSGVyZSBpcyBteSBzb3VyY2UgY29kZToNCj4gDQo+ICNpbmNsdWRlIDxi b29zdC9hc2lvLmhwcD4NCj4gDQo+IA0KPiB1c2luZyBuYW1lc3BhY2UgYm9vc3Q6OmFzaW87DQo+ IHVzaW5nIGl0ZXJhdG9yID0gYnVmZmVyc19pdGVyYXRvcnN0cmVhbWJ1Zjo6Y29uc3RfYnVmZmVy c190eXBlOw0KPiANCj4gDQo+IHN0cnVjdCBjb21wbGV0aW9uX2Z1bmN0b3INCj4gew0KPiBzdGQ6 OnBhaXI8aXRlcmF0b3IsIGJvb2w+IG9wZXJhdG9yKCkoaXRlcmF0b3IgYmVnaW4sIGl0ZXJhdG9y IGVuZCkgew0KPiANCj4gcmV0dXJuIHt9Ow0KPiB9DQo+IH07DQo+IGNvbXBsZXRpb25fZnVuY3Rv ciBmdW5jdG9yOw0KPiBzdGF0aWNfYXNzZXJ0KGlzX21hdGNoX2NvbmRpdGlvbjxjb21wbGV0aW9u X2Z1bmN0b3I+Ojp2YWx1ZSwgImNvbXBsZXRpb25fZnVuY3RvciBtdXN0IGJlIG1hdGNoIGNvbmRp dGlvbiIpOw0KPiANCj4gc3RhdGljX2Fzc2VydChpc19tYXRjaF9jb25kaXRpb248ZGVjbHR5cGUo ZnVuY3Rvcik+Ojp2YWx1ZSwgImZ1bmN0b3IgbXVzdCBiZSBtYXRjaCBjb25kaXRpb24iKTsNCj4g DQo+IA0KPiBzdGQ6OnBhaXI8aXRlcmF0b3IsIGJvb2w+IGNvbXBsZXRpb25fZnVuYyhpdGVyYXRv ciBiZWdpbiwgaXRlcmF0b3IgZW5kKSB7DQo+IA0KPiByZXR1cm4gZnVuY3RvcihiZWdpbiwgZW5k KTsNCj4gfQ0KPiBzdGF0aWNfYXNzZXJ0KGlzX21hdGNoX2NvbmRpdGlvbjxkZWNsdHlwZShjb21w bGV0aW9uX2Z1bmMpPjo6dmFsdWUsICJjb21wbGV0aW9uX2Z1bmMgbXVzdCBiZSBtYXRjaCBjb25k aXRpb24iKTsNCj4gDQo+IA0KPiANCj4gYXV0byBsYW1iZGEgPSBbXShpdGVyYXRvciBiZWdpbiwg aXRlcmF0b3IgZW5kKSAtPiBzdGQ6OnBhaXI8aXRlcmF0b3IsIGJvb2w+IHsNCj4gDQo+IHJldHVy biB7fTsNCj4gfTsNCj4gc3RhdGljX2Fzc2VydChpc19tYXRjaF9jb25kaXRpb248ZGVjbHR5cGUo bGFtYmRhKT46OnZhbHVlLCAibGFtYmRhIG11c3QgYmUgbWF0Y2ggY29uZGl0aW9uIik7DQo+IA0K PiANCj4gc3RkOjpwYWlyPGl0ZXJhdG9yLCBib29sPiBjb21wbGV0aW9uX2Z1bmMyKGl0ZXJhdG9y IGJlZ2luLCBpdGVyYXRvciBlbmQpIHsNCj4gDQo+IHJldHVybiBsYW1iZGEoYmVnaW4sIGVuZCk7 DQo+IH0NCj4gc3RhdGljX2Fzc2VydChpc19tYXRjaF9jb25kaXRpb248ZGVjbHR5cGUoY29tcGxl dGlvbl9mdW5jMik+Ojp2YWx1ZSwgImNvbXBsZXRpb25fZnVuYzIgbXVzdCBiZSBtYXRjaCBjb25k aXRpb24iKTsNCj4gDQo+IA0KPiANCj4gaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkN Cj4gew0KPiBpb19jb250ZXh0IGN0eDsNCj4gaXA6OnRjcDo6c29ja2V0IHN7Y3R4fTsNCj4gc3Ry ZWFtYnVmIGJ1ZmZlcjsNCj4gDQo+IHJlYWRfdW50aWwocywgYnVmZmVyLCAnXG4nKTsNCj4gcmVh ZF91bnRpbChzLCBidWZmZXIsIGNvbXBsZXRpb25fZnVuYyk7DQo+IHJlYWRfdW50aWwocywgYnVm ZmVyLCBjb21wbGV0aW9uX2Z1bmMyKTsNCj4gLy8gdGhlIGZvbGxvd2luZyBjYWxscyBkbyBub3Qg Y29tcGlsZQ0KPiAvLyByZWFkX3VudGlsKHMsIGJ1ZmZlciwgZnVuY3Rvcik7DQo+IC8vIHJlYWRf dW50aWwocywgYnVmZmVyLCBsYW1iZGEpOw0KPiB9DQo+IA0KPiBJdCBzZWVtcywgdGhhdCBib29z dDo6YXNpbzo6aXNfbWF0Y2hfY29uZGl0aW9uPD4gZG9lcyBuZWl0aGVyIGFjY2VwdCBteSBsYW1t ZGEtZnVuY3Rpb24gbm9yIG15IGZ1bmN0b3IuIFRoZSBvbmx5IGNvbXBsZXRpb24gaGFuZGxlciwg dGhhdCBJIGdldCBhY2NlcHRlZCwgaXMgYSBjbGFzc2ljLCBmcmVlLXN0YW5kaW5nIGZ1bmN0aW9u IChhbmQgc3RhdGljIGNsYXNzIG1lbWJlciBmdW5jdGlvbnMsIHRvbykuDQo+IA0KPiANCj4gQnV0 IGluIHRoYXQgZnVuY3Rpb24sIGNhbGxpbmcgdGhlIGxhbWJkYSBvciB0aGUgZnVuY3RvciBkb2Vz IG5vdCBzZWVtIHRvIGJlIGEgcHJvYmxlbSBmb3IgdGhlIGNvbXBpbGVyLg0KPiANCj4gVGhlIGRv Y3VtZW50YXRpb24gb2YgcmVhZF91bnRpbCBkZXNjcmliZXMgbWF0Y2hfY29uZGl0aW9uIGFzICJU aGUgZnVuY3Rpb24gb2JqZWN0IHRvIGJlIGNhbGxlZCB0byBkZXRlcm1pbmUgd2hldGhlciBhIG1h dGNoIGV4aXN0cy4iDQo+IA0KPiBJIHdvdWxkIGV4cGVjdCBsYW1iZGEgZnVuY3Rpb25zIGFuZCBm dW5jdG9ycyB0byBiZSBhY2NlcHRlZCBhcyBhIGZ1bmN0aW9uIG9iamVjdC4NCj4gDQo+IERvIEkg aGF2ZSBhbiBlcnJvciBpbiB0aGUgZGVjbGFyYXRpb24gb2YgbGFtYmRhIG9yIGNvbXBsZXRpb25f ZnVuY3Rvcjo6b3BlcmF0b3IoKT8NCj4gDQo+IERvZXMgYW55Ym9keSBub3csIGhvdyB0byBnZXQg dGhpcyB3b3JraW5nPw0KPiANCj4gSSB0cmllZCBib29zdF8xXzczXzAgYW5kIGJvb3N0XzFfODhf MCB3aXRoIGcrKyAoR2VudG9vIDE0LjMuMV9wMjAyNTA4MDEgcDQpIDE0LjMuMSAyMDI1MDgwMSBh bmQgY2xhbmcgdmVyc2lvbiAyMC4xLjgNCj4gDQo+IFRoYW5rcyBpbiBhZHZhbmNlLA0KPiANCj4g S2xlYnNjaCBNYXJpbw0KPiBGdW5rdGlvbiB8IFImRA0KPiANCj4gDQo+IA0KPiBUZWw6ICs0OSAo MCkgNTMxIDM4IDcwMSA3MTgNCj4gUmF1bTogQnJhdW5zY2h3ZWlnLCBFMjANCj4gDQo+IA0KPiAN Cj4gRGllc2UgRS1NYWlsIHVuZCBkaWUgYW4gc2llIGFuZ2Vow6RuZ3RlbiBEYXRlaWVuIHNpbmQg YXVzc2NobGllw59saWNoIGbDvHIgUGVyc29uZW4gb2RlciBJbnN0aXR1dGlvbmVuIGJlc3RpbW10 LCBkZXJlbiBOYW1lbiBvYmVuIGF1ZmdlZsO8aHJ0IHNpbmQuIFNpZSBrw7ZubmVuIEluZm9ybWF0 aW9uZW4gZW50aGFsdGVuLCBkaWUgZHVyY2ggZGFzIEJlcnVmc2dlaGVpbW5pcyBnZXNjaMO8dHp0 IHNpbmQgdW5kIGRlcmVuIFdlaXRlcmdhYmUgc3RyZW5nc3RlbnMgdW50ZXJzYWd0IGlzdC4gSmVk ZSBlbGVrdHJvbmlzY2hlIE5hY2hyaWNodCBrYW5uIGdlw6RuZGVydCB3ZXJkZW4uIEFDVElBIGxl aG50IGplZGUgVmVyYW50d29ydHVuZyBmw7xyIGRpZXNlIE5hY2hyaWNodCBhYi4gRGVyIEluaGFs dCBkaWVzZXIgTmFjaHJpY2h0IHN0ZWxsdCBrZWluZSBWZXJwZmxpY2h0dW5nIHNlaXRlbnMgdW5z ZXJlcyBVbnRlcm5laG1lbnMgZGFyLiBXZW5uIFNpZSBrZWluIEVtcGbDpG5nZXIgc2luZCwgd2Vp c2VuIHdpciBTaWUgZGFyYXVmIGhpbiwgZGFzcyBkYXMgTGVzZW4sIFZlcnZpZWxmw6RsdGlnZW4g b2RlciBWZXJ0ZWlsZW4gc3RyZW5nc3RlbnMgdW50ZXJzYWd0IGlzdC4gV2lyIGJpdHRlbiBTaWUg ZGFoZXIsIHVucyB1bWdlaGVuZCDDvGJlciBkaWVzZW4gQnJpZWYgenUgaW5mb3JtaWVyZW4gdW5k IGRpZXNlIE5hY2hyaWNodCBzb3dpZSBldmVudHVlbGwgYmVpZ2Vmw7xndGUgVW50ZXJsYWdlbiBh dXMgSWhyZW0gUG9zdGZhY2ggenUgbMO2c2NoZW4uIERhbmtlLg0KPiANCj4gVGhpcyBlLW1haWwg YW5kIHRoZSBmaWxlcyBhdHRhY2hlZCB0byBpdCBhcmUgaW50ZW5kZWQgZXhjbHVzaXZlbHkgZm9y IHBlcnNvbnMgb3IgaW5zdGl0dXRpb25zIHdob3NlIG5hbWVzIGFyZSBsaXN0ZWQgYWJvdmUuIFRo ZXkgbWF5IGNvbnRhaW4gaW5mb3JtYXRpb24gdGhhdCBpcyBwcm90ZWN0ZWQgYnkgcHJvZmVzc2lv bmFsIHNlY3JlY3kgYW5kIHRoZSBkaXNjbG9zdXJlIG9mIHdoaWNoIGlzIHN0cmljdGx5IHByb2hp Yml0ZWQuIEFueSBlbGVjdHJvbmljIG1lc3NhZ2UgY2FuIGJlIG1vZGlmaWVkLiBBQ1RJQSBkZWNs aW5lcyBhbGwgcmVzcG9uc2liaWxpdHkgZm9yIHRoaXMgbWVzc2FnZS4gVGhlIGNvbnRlbnQgb2Yg dGhpcyBtZXNzYWdlIGRvZXMgbm90IHJlcHJlc2VudCBhIGNvbW1pdG1lbnQgb24gdGhlIHBhcnQg b2Ygb3VyIGNvbXBhbnkuIElmIHlvdSBhcmUgbm90IGEgcmVjaXBpZW50LCB3ZSB3b3VsZCBsaWtl IHRvIHBvaW50IG91dCB0aGF0IHJlYWRpbmcsIGNvcHlpbmcgb3IgZGlzdHJpYnV0aW9uIGlzIHN0 cmljdGx5IHByb2hpYml0ZWQuIFdlIHRoZXJlZm9yZSBhc2sgeW91IHRvIGluZm9ybSB1cyBpbW1l ZGlhdGVseSBhYm91dCB0aGlzIGxldHRlciBhbmQgdG8gZGVsZXRlIHRoaXMgbWVzc2FnZSBhbmQg YW55IGFjY29tcGFueWluZyBkb2N1bWVudHMgZnJvbSB5b3VyIG1haWxib3guIFRoYW5rIHlvdS4N Cj4gDQo+IA0KPiANCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18NCj4gQm9vc3QtdXNlcnMgbWFpbGluZyBsaXN0IC0tIGJvb3N0LXVzZXJzQGxpc3RzLmJv b3N0Lm9yZw0KPiBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIGJvb3N0LXVzZXJzLWxl YXZlQGxpc3RzLmJvb3N0Lm9yZw0KPiBodHRwczovL2xpc3RzLmJvb3N0Lm9yZy9tYWlsbWFuMy9s aXN0cy9ib29zdC11c2Vycy5saXN0cy5ib29zdC5vcmcvDQo+IEFyY2hpdmVkIGF0OiBodHRwczov L2xpc3RzLmJvb3N0Lm9yZy9hcmNoaXZlcy9saXN0L2Jvb3N0LXVzZXJzQGxpc3RzLmJvb3N0Lm9y Zy9tZXNzYWdlL0VGUzNLQjVDRjRPVDJGSExFTE80M0dSWlI0VzZSV0xZLw0KX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQm9vc3QtdXNlcnMgbWFpbGluZyBs aXN0IC0tIGJvb3N0LXVzZXJzQGxpc3RzLmJvb3N0Lm9yZwpUbyB1bnN1YnNjcmliZSBzZW5kIGFu IGVtYWlsIHRvIGJvb3N0LXVzZXJzLWxlYXZlQGxpc3RzLmJvb3N0Lm9yZwpodHRwczovL2xpc3Rz LmJvb3N0Lm9yZy9tYWlsbWFuMy9saXN0cy9ib29zdC11c2Vycy5saXN0cy5ib29zdC5vcmcvCkFy Y2hpdmVkIGF0OiBodHRwczovL2xpc3RzLmJvb3N0Lm9yZy9hcmNoaXZlcy9saXN0L2Jvb3N0LXVz ZXJzQGxpc3RzLmJvb3N0Lm9yZy9tZXNzYWdlL0YzUlFSRDQ0WlNMSVBVQ09RRVpZTzRWWkE2Q1lO RVBULyAK