code: def is_smart_pointer(type_):
          
          type_ = type_traits.remove_alias(type_)
          type_ = type_traits.remove_cv(type_)
          type_ = type_traits.remove_declarated(type_)
          if not isinstance(type_,
                            (class_declaration.class_declaration_t,
                             class_declaration.class_t)):
              return False
          if not (
                  traits_impl_details.impl_details.is_defined_in_xxx(
                      'boost', type_) or
                  traits_impl_details.impl_details.is_defined_in_xxx(
                      'std', type_)):
              return False
          return type_.decl_string.startswith('::boost::shared_ptr<') or \
              type_.decl_string.startswith('::std::shared_ptr<')
docs: returns True, if type represents instantiation of
          `boost::shared_ptr` or `std::shared_ptr`, False otherwise