SmartRef smart ptr in D. Base std.experimental.allocator. smart ref: ISharedRef : ref count pointer. IWeakRef : weak ref count pointer. IScopedRef : the Unique pointer