Boost logo

Boost :

Subject: Re: [boost] [local] this_ or _this?
From: Thomas Heller (thom.heller_at_[hidden])
Date: 2011-04-04 01:00:09


On Sun, Apr 3, 2011 at 8:28 PM, Lorenzo Caminiti <lorcaminiti_at_[hidden]> wrote:
> On Sun, Apr 3, 2011 at 2:22 PM, Steven Watanabe <watanabesj_at_[hidden]> wrote:
>> AMDG
>>
>> On 04/03/2011 11:13 AM, Lorenzo Caminiti wrote:
>>>
>>> Boost.Local uses a special name `this_` to access the object `this`
>>> bound from the enclosing scope. Shall this name be `this_` or `_this`
>>> according to Boost practices?
>>>
>>> struct c {
>>>     void g(int x) { ... }
>>>     void f() {
>>>         void BOOST_LOCAL_FUNCTION_PARAMS( (int x) (bind this) ) {
>>>             this_->g(x); //<<<<<<<<<  Shall this be `_this->g(x);`
>>> instead?
>>>             ...
>>>         } BOOST_LOCAL_FUNCTIO_NAME(l)
>>>         ...
>>>     }
>>>     ...
>>> };
>>>
>>> In particular, some library uses _ postfix for statements like
>>> mpl::if_ (not mpl::_if) while other uses _ prefix for variables like
>>> phoenix::local_names::_f (not local_names::f_).
>>>
>>
>> The convention is that _xxx is used for placeholders.
>> xxx_ is used when xxx is a keyword.
>
> I see, thanks. `this` is a keyword so Boost.Local should continue to
> use `this_` -- I'll add this to the docs rationale.

I use _this for the placeholder to the current lambda in Boost.Phoenix


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