@staticmethod<EOL><INDENT>def is_smart_pointer(type_):<DEDENT>
type_ = type_traits.remove_alias(type_)<EOL>type_ = type_traits.remove_cv(type_)<EOL>type_ = type_traits.remove_declarated(type_)<EOL>if not isinstance(type_,<EOL>(class_declaration.class_declaration_t,<EOL>class_declaration.class_t)):<EOL><INDENT>return False<EOL><DEDENT>if not (<EOL>traits_impl_details.impl_details.is_defined_in_xxx(<EOL>'<STR_LIT>', type_) or<EOL>traits_impl_details.impl_details.is_defined_in_xxx(<EOL>'<STR_LIT>', type_)):<EOL><INDENT>return False<EOL><DEDENT>return type_.decl_string.startswith('<STR_LIT>') ortype_.decl_string.startswith('<STR_LIT>')<EOL>
returns True, if type represents instantiation of
        `boost::shared_ptr` or `std::shared_ptr`, False otherwise