Boost logo

Boost :

Subject: Re: [boost] [lclcontext] Any interest in Pythonesque "with-as" statement in C++.
From: Mostafa (mostafa_working_away_at_[hidden])
Date: 2015-08-17 12:27:54


On Mon, 17 Aug 2015 01:59:08 -0700, Sam Kellett <samkellett_at_[hidden]>
wrote:

>>
>> I think Python's concept of Context and Context Managers useful and I've
>> adapted, to the best of my abilities, a similar concept in C++. For
>> those
>> not familiar with this concept, I'll quote a brief snippet from the
>> documentation:
>>
>
>> "Simply stated, this library enables the use of the Pythonesque
>> with-statement construct in C++. More
>> broadly, this library seeks to formalize a generalized version of a
>> subset
>> of the RAII (Resource
>> Acquisition is Initialization) idiom that, for the lack of preexisting
>> terms, I shall refer here to as the
>> STEP (Scope Triggered Event Processing) idiom. The STEP idiom is the
>> commonly occurring use case
>> where for a given block of code some user specified action(s) must
>> execute
>> on entry and on exit, and
>> the failure to do so will result in some deterministic behavior."
>>
>> You can find the library here:
>>
>> https://github.com/m-w-a/WG
>>
>> Documentation is here:
>>
>> https://github.com/m-w-a/WG/tree/master/Local/Docs
>>
>> (In the same repository I've also redid Boost's local_function, but that
>> the subject of another posting.)
>>
>> If there is enough interest from the community for such a library then I
>> will go ahead and "Boostify" it.
>>
>
> i'm sure you already know this but C++14's initialized lambda captures
> basically are python's with-as (albeit with C++'s normal syntax tax).

I didn't know that. I was only targeting C++03/C++11.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk