-
Book Overview & Buying
-
Table Of Contents
D Cookbook
By :
A common technique to manage resources is reference counting. D's structs provide the necessary infrastructure to automate reference counting.
In order to make a reference-counted object, perform the following steps:
Write a struct with its only data member being a pointer to the object. You may write a nested struct to hold the data, or it may be a pointer to a library.
Add alias this to the pointer so that operations will be automatically forwarded to it.
Make a constructor, if possible, or a static factory method that acquires the object and increases the reference count.
Write a postblit that increases the reference count.
Write a destructor that decreases the reference count and frees the object if necessary.
Keep in mind that the data pointer may be null, and check for that in each function. Consider the following code:
struct RefCountedObject {
private struct Implementation {
/* other contents here */
int refcount;
}
Implementation...
Change the font size
Change margin width
Change background colour