C = Class('smart_ptr::C', 'smart_ptr.h')
use_shared_ptr(C)

D = Class('smart_ptr::D', 'smart_ptr.h')
use_auto_ptr(D)

A = Class('smart_ptr::A', 'smart_ptr.h')
use_shared_ptr(A)

Function('smart_ptr::NewC', 'smart_ptr.h')
Function('smart_ptr::NewD', 'smart_ptr.h')
Function('smart_ptr::NewA', 'smart_ptr.h')
Function('smart_ptr::GetA', 'smart_ptr.h')
