Boost logo

Boost :

Subject: Re: [boost] [transact] code in sandbox
From: strasser_at_[hidden]
Date: 2010-02-17 09:29:56

Zitat von Bob Walters <bob.s.walters_at_[hidden]>:
>>> when the user needs to have control over code-on-retry etc., using the
>>> macros is not less verbose and the user has to be aware of the details
>>> that this is implemented as a loop and a try/catch block.
>>> having more than one choice on which macro to use even adds complexity.
>> Maybe you are right, may be not. All these depend on whether we found a good
>> macro name for each common use case. I hope we will find out these common
>> use cases and appropriated names together.
> I agree with Steffan on this point.

I don't agree with me anymore ;)
I still do in principle, but the macro has grown a little more complex
in our discussion, to support "break", "return" and "continue" inside
of user loops. so when you're weighing using a macro against writing a
loop yourself it is now more tilted towards using a macro, so maybe we
should support something like BOOST_TRANSACT_ON_RETRY.

control ctrl;
     transaction tx;
     commit_on_destruction destr(tx);

         //...user code
         if(something) break;
         else if(something_else) continue;
         else return 5;
         //...end user code

   }catch(isolation_exception &){}
if(ctrl==continue_) continue;
else if(ctrl==break_) break;

Boost list run by bdawes at, gregod at, cpdaniel at, john at