42 #ifndef TEUCHOS_GETRAWPTR_HPP 
   43 #define TEUCHOS_GETRAWPTR_HPP 
   45 #include "Teuchos_ArrayRCP.hpp" 
   49 template<
class Container>
 
   50 class RawPointerConversionTraits {
 
   55 template<
class Container>
 
   56 typename RawPointerConversionTraits<Container>::Ptr_t
 
   57 getRawPtr( 
const Container& c )
 
   59   return RawPointerConversionTraits<Container>::getRawPtr(c);
 
   64 template<
class RawType>
 
   65 class RawPointerConversionTraits<RawType*>
 
   68   typedef RawType* Ptr_t;
 
   69   static Ptr_t getRawPtr( RawType* p ) { 
return p; }
 
   74 class RawPointerConversionTraits<ArrayRCP<T> >
 
   77   typedef typename ArrayRCP<T>::pointer Ptr_t;
 
   78   static Ptr_t getRawPtr( 
const ArrayRCP<T>& arcp ) { 
return arcp.getRawPtr(); }
 
   85 #endif // TEUCHOS_GETRAWPTR_HPP