Re: Question about wrapping raw C pointers from D

2014-05-30 Thread Ali Çehreli via Digitalmars-d-learn

On 05/29/2014 09:38 PM, Rusty D. Shackleford wrote:

 Hi, in C++ I can use smart pointers to wrap raw pointers with custom
 deleter to automatically manage C resources. Is there anything like this
 in D?

1) Structs provide RAII:

struct S
{
// ...

~this() {
// cleanup
}
}

2) catch and finally clauses can be used

3) scope(failure), scope(exit), and scope(success):

{
auto r = allocateSomeResource();
scope(exit) deallocateSomeResource(r);

// ...
}

Ali



Question about wrapping raw C pointers from D

2014-05-29 Thread Rusty D. Shackleford via Digitalmars-d-learn
Hi, in C++ I can use smart pointers to wrap raw pointers with 
custom deleter to automatically manage C resources. Is there 
anything like this in D?