9 template<class BseObjectPtr, typename ::std::enable_if<std::is_pointer<BseObjectPtr>::value,
bool>::type =
true>
15 return this ? (BseObjectPtr) this->as_bse_object() : NULL;
18 template<
class T,
typename =
void>
struct DERIVES_shared_ptr :
std::false_type {};
19 template<
class T>
struct DERIVES_shared_ptr<T,
Rapicorn::void_t< typename T::element_type > > :
22 template<class ObjectImplP, typename ::std::enable_if<DERIVES_shared_ptr<ObjectImplP>::value,
bool>::type =
true>
25 typedef typename ObjectImplP::element_type ObjectImplT;
27 ObjectImplT *impl =
this ?
dynamic_cast<ObjectImplT*
> (
this) : NULL;
28 return impl ? Rapicorn::shared_ptr_cast<ObjectImplT> (impl) : NULL;
Definition: bstserverapi.cc:544
Definition: bseobject.hh:60