diff --git a/DDCore/include/DD4hep/Dictionary.h b/DDCore/include/DD4hep/Dictionary.h index 80a9783465d599f49c4348c6331e2e12875da73e..083e661f7fc3f265de3c3c3d329299d13a6082d0 100644 --- a/DDCore/include/DD4hep/Dictionary.h +++ b/DDCore/include/DD4hep/Dictionary.h @@ -65,13 +65,14 @@ template class map< string, DD4hep::Geometry::Handle<DD4hep::NamedObject> >; #pragma link C++ class DD4hep::Geometry::Handle<DD4hep::NamedObject>+; #pragma link C++ class pair<string, DD4hep::Geometry::Handle<DD4hep::NamedObject> >+; #pragma link C++ class map<string, DD4hep::Geometry::Handle<DD4hep::NamedObject> >+; -//#pragma link C++ class map<string, DD4hep::Geometry::Handle<DD4hep::NamedObject> >::*+; #pragma link C++ class map<string, DD4hep::Geometry::Handle<DD4hep::NamedObject> >::iterator; -//#pragma link C++ class map<string, DD4hep::Geometry::Handle<DD4hep::NamedObject> >::const_iterator; -//#pragma link C++ class map<string, DD4hep::Geometry::Handle<DD4hep::NamedObject> >::reverse_iterator; +#pragma link C++ class map<string, DD4hep::Geometry::Handle<DD4hep::NamedObject> >::const_iterator; + +#ifdef R__MACOSX +// We only need these declarations for the clang compiler #pragma link C++ function operator==( const map<string, DD4hep::Geometry::Handle<DD4hep::NamedObject> >::iterator&,const map<string, DD4hep::Geometry::Handle<DD4hep::NamedObject> >::iterator& ); #pragma link C++ function operator!=( const map<string, DD4hep::Geometry::Handle<DD4hep::NamedObject> >::iterator&,const map<string, DD4hep::Geometry::Handle<DD4hep::NamedObject> >::iterator& ); - +#endif #pragma link C++ class DD4hep::ObjectExtensions+; template class DD4hep::Geometry::Handle<TNamed>; @@ -186,9 +187,12 @@ template class DD4hep::Geometry::Handle<TNamed>; #pragma link C++ class map<string,DD4hep::Geometry::DetElement>+; #pragma link C++ class map<string,DD4hep::Geometry::DetElement>::iterator; #pragma link C++ class map<string,DD4hep::Geometry::DetElement>::const_iterator; + +#ifdef R__MACOSX +// We only need these declarations for the clang compiler #pragma link C++ function operator==( const map<string, DD4hep::Geometry::DetElement >::iterator&,const map<string, DD4hep::Geometry::DetElement >::iterator& ); #pragma link C++ function operator!=( const map<string, DD4hep::Geometry::DetElement >::iterator&,const map<string, DD4hep::Geometry::DetElement >::iterator& ); - +#endif #pragma link C++ class DD4hep::Geometry::SensitiveDetector+; #pragma link C++ class DD4hep::Geometry::SensitiveDetectorObject+; @@ -282,15 +286,23 @@ template vector<pair<string, int> >::iterator; #pragma link C++ class map<string, string>+; #pragma link C++ class map<string, string>::iterator; #pragma link C++ class map<string, string>::const_iterator; + +#ifdef R__MACOSX +// We only need these declarations for the clang compiler #pragma link C++ function operator==( const map<string, string>::iterator&, const map<string, string>::iterator& ); #pragma link C++ function operator!=( const map<string, string>::iterator&, const map<string, string>::iterator& ); +#endif #pragma link C++ class pair<string, map<string, string> >+; #pragma link C++ class map<string, map<string, string> >+; #pragma link C++ class map<string, map<string,string>>::iterator; #pragma link C++ class map<string, map<string,string>>::const_iterator; + +#ifdef R__MACOSX +// We only need these declarations for the clang compiler #pragma link C++ function operator==( const map<string, map<string,string>>::iterator&, const map<string, map<string,string>>::iterator& ); #pragma link C++ function operator!=( const map<string, map<string,string>>::iterator&, const map<string, map<string,string>>::iterator& ); +#endif #pragma link C++ class DD4hep::Geometry::LCDD+;