10 #ifndef TEUCHOS_GETRAWPTR_HPP 
   11 #define TEUCHOS_GETRAWPTR_HPP 
   13 #include "Teuchos_ArrayRCP.hpp" 
   17 template<
class Container>
 
   18 class RawPointerConversionTraits {
 
   23 template<
class Container>
 
   24 typename RawPointerConversionTraits<Container>::Ptr_t
 
   25 getRawPtr( 
const Container& c )
 
   27   return RawPointerConversionTraits<Container>::getRawPtr(c);
 
   32 template<
class RawType>
 
   33 class RawPointerConversionTraits<RawType*>
 
   36   typedef RawType* Ptr_t;
 
   37   static Ptr_t getRawPtr( RawType* p ) { 
return p; }
 
   42 class RawPointerConversionTraits<ArrayRCP<T> >
 
   45   typedef typename ArrayRCP<T>::pointer Ptr_t;
 
   46   static Ptr_t getRawPtr( 
const ArrayRCP<T>& arcp ) { 
return arcp.getRawPtr(); }
 
   53 #endif // TEUCHOS_GETRAWPTR_HPP