;------------------------------------------------------------------------------
; iris::fnd::CAutoPtr
;------------------------------------------------------------------------------ 
iris::fnd::CAutoPtr<*,*> {
	children
	(
		#(
			[actual members]: [$e,!],
			m_ptr : ($T1*)($e.m_ptr)
		)
	)
	preview
	(
		$e.m_ptr
	)
}

;------------------------------------------------------------------------------
; iris::fnd::CLinkPtr
;------------------------------------------------------------------------------ 
iris::fnd::CLinkPtr<*,*> {
	children
	(
		#(
			[actual members]: [$e,!],
			m_ptr : ($T1*)($e.m_ptr)
		)
	)
	preview
	(
		$e.m_ptr
	)
}

;------------------------------------------------------------------------------
; iris::fnd::CRefPtr
;------------------------------------------------------------------------------ 
iris::fnd::CRefPtr<*,*,*> {
	children
	(
		#(
			[actual members]: [$e,!],
			ptr  : ($T1*)($e.m_ref->m_ptr),
			refcnt : $e.m_ref->m_refcnt
		)
	)
	preview
	(
		#if ($e.m_ref == 0) (
			"?"
		) #else (
			#(
				"[", $e.m_ref->m_ptr, "] (", $e.m_ref->m_refcnt, ")"
			)
		)
	)
}

;------------------------------------------------------------------------------
; iris::fnd::CLiberatorObject, iris::fnd::CLiberatorObject
;------------------------------------------------------------------------------
iris::fnd::CLiberatorObject<*>|iris::fnd::CLiberatorCRTP<*> {
	children
	(
		#(
			[actual members]: [$e,!],
			m_ptr : ($T1*)($e.m_ptr)
		)
	)
	preview
	(
		$e.m_ptr
	)
}

