-%template(modelAPI_AttributeDocRef) boost_cast<ModelAPI_AttributeDocRef, ModelAPI_Attribute>;
-%template(modelAPI_AttributeDouble) boost_cast<ModelAPI_AttributeDouble, ModelAPI_Attribute>;
-%template(modelAPI_AttributeInteger) boost_cast<ModelAPI_AttributeInteger, ModelAPI_Attribute>;
-%template(modelAPI_AttributeString) boost_cast<ModelAPI_AttributeString, ModelAPI_Attribute>;
-%template(modelAPI_AttributeReference) boost_cast<ModelAPI_AttributeReference, ModelAPI_Attribute>;
-%template(modelAPI_AttributeRefAttr) boost_cast<ModelAPI_AttributeRefAttr, ModelAPI_Attribute>;
-%template(modelAPI_AttributeBoolean) boost_cast<ModelAPI_AttributeBoolean, ModelAPI_Attribute>;
-%template(modelAPI_AttributeSelection) boost_cast<ModelAPI_AttributeSelection, ModelAPI_Attribute>;
-%template(modelAPI_AttributeSelectionList) boost_cast<ModelAPI_AttributeSelectionList, ModelAPI_Attribute>;
-%template(modelAPI_AttributeRefList) boost_cast<ModelAPI_AttributeRefList, ModelAPI_Attribute>;
+%template(modelAPI_AttributeDocRef) shared_ptr_cast<ModelAPI_AttributeDocRef, ModelAPI_Attribute>;
+%template(modelAPI_AttributeDouble) shared_ptr_cast<ModelAPI_AttributeDouble, ModelAPI_Attribute>;
+%template(modelAPI_AttributeInteger) shared_ptr_cast<ModelAPI_AttributeInteger, ModelAPI_Attribute>;
+%template(modelAPI_AttributeString) shared_ptr_cast<ModelAPI_AttributeString, ModelAPI_Attribute>;
+%template(modelAPI_AttributeReference) shared_ptr_cast<ModelAPI_AttributeReference, ModelAPI_Attribute>;
+%template(modelAPI_AttributeRefAttr) shared_ptr_cast<ModelAPI_AttributeRefAttr, ModelAPI_Attribute>;
+%template(modelAPI_AttributeBoolean) shared_ptr_cast<ModelAPI_AttributeBoolean, ModelAPI_Attribute>;
+%template(modelAPI_AttributeSelection) shared_ptr_cast<ModelAPI_AttributeSelection, ModelAPI_Attribute>;
+%template(modelAPI_AttributeSelectionList) shared_ptr_cast<ModelAPI_AttributeSelectionList, ModelAPI_Attribute>;
+%template(modelAPI_AttributeRefList) shared_ptr_cast<ModelAPI_AttributeRefList, ModelAPI_Attribute>;