Boost logo

Boost :

Subject: Re: [boost] [local] this_ or _this?
From: Joel de Guzman (joel_at_[hidden])
Date: 2011-04-04 01:34:51


On 4/4/2011 1:00 PM, Thomas Heller wrote:
> 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

Thomas, I strongly suggest that it be renamed to this_ for consistency.

Regards,

-- 
Joel de Guzman
http://www.boostpro.com
http://boost-spirit.com

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