Show
Ignore:
Timestamp:
10/24/07 19:30:30 (10 months ago)
Author:
cneumann
Message:

fixed: FieldBundle? templates, pointers and fields updated

lots of compile errors - some remain

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/Carsten_PtrWork/Source/System/FieldContainer/Base/OSGParentPointer.h

    r976 r988  
    6565    typedef          ObjectT                                  Object; 
    6666    typedef          RootObjectT                              RootObject; 
    67     typedef typename WeakRefCountPtrBuilder<ObjectT,  
     67    typedef typename WeakRefCountPtrBuilder<RootObject,  
    6868                                            RootObject >::Ptr PointerType; 
    6969    typedef          ParentPointer<ObjectT, RootObjectT>      Self; 
     
    9696                                RootObject      >    const &parentPtr       ); 
    9797     
     98    template <class OtherObjectT> 
     99    ParentPointer(ParentPointer<OtherObjectT, 
     100                                RootObject>          const &parentPtr, 
     101                  detail::StaticCastTag                                     ); 
     102         
     103    template <class OtherObjectT> 
     104    ParentPointer(ParentPointer<OtherObjectT, 
     105                                RootObject>          const &parentPtr, 
     106                  detail::ConstCastTag                                      ); 
     107         
     108    template <class OtherObjectT> 
     109    ParentPointer(ParentPointer<OtherObjectT, 
     110                                RootObject>          const &parentPtr, 
     111                  detail::DynamicCastTag                                    ); 
     112                                 
    98113    template <class OtherObjectT, class OtherRefCountPolicyT> 
    99114    explicit 
     
    116131    /*! \{                                                                 */ 
    117132     
    118     Self &operator=(Self                            const &other    ); 
    119     Self &operator=(ObjectPtrConstArg                      objectPtr); 
     133    Self &operator=(Self                            const &other     ); 
     134     
     135    Self &operator=(ObjectPtrConstArg                      objectPtr ); 
    120136     
    121137    template <class OtherObjectT> 
    122138    Self &operator=( 
    123         ParentPointer<OtherObjectT, RootObject>     const &parentPtr); 
    124      
     139        ParentPointer<OtherObjectT, RootObject>     const &parentPtr ); 
     140         
    125141    template <class OtherObjectT, class OtherRefCountPolicy> 
    126142    Self &operator=( 
     
    175191    /*! \}                                                                 */ 
    176192    /*---------------------------------------------------------------------*/ 
     193    /*! \name Friends                                                      */ 
     194    /*! \{                                                                 */ 
     195     
     196    template <class OtherObjectT, class OtherRootObjectT> 
     197    friend class ParentPointer; 
     198     
     199    /*! \}                                                                 */ 
     200    /*---------------------------------------------------------------------*/ 
    177201}; 
    178202 
    179203OSG_END_NAMESPACE 
    180204 
     205namespace boost 
     206{ 
     207 
     208template <class TargetObjectT, class SourceObjectT, class RootObjectT> 
     209OSG::ParentPointer<TargetObjectT, RootObjectT> 
     210static_pointer_cast(OSG::ParentPointer<SourceObjectT, 
     211                                       RootObjectT   > const &source); 
     212 
     213template <class TargetObjectT, class SourceObjectT, class RootObjectT> 
     214OSG::ParentPointer<TargetObjectT, RootObjectT> 
     215const_pointer_cast(OSG::ParentPointer<SourceObjectT, 
     216                                      RootObjectT   > const &source); 
     217 
     218template <class TargetObjectT, class SourceObjectT, class RootObjectT> 
     219OSG::ParentPointer<TargetObjectT, RootObjectT> 
     220dynamic_pointer_cast(OSG::ParentPointer<SourceObjectT, 
     221                                        RootObjectT   > const &source); 
     222 
     223} // namespace boost 
     224 
     225#include "OSGParentPointer.inl" 
     226 
    181227#endif // _OSGPARENTPOINTER_H_