

/*!
  @author d‹à‹›
  @file traits.hpp
  @brief traits 
  @since 2004/06/15
	@note
	licence:BSD Licence
*/


#ifndef _dkutil_traits
#define _dkutil_traits


namespace dkutil{
namespace policy{

//template <class T> struct nonconst_traits;



template <class T>
struct non_const_traits {
	typedef T value_type;
  typedef T& reference;
  typedef T* pointer;
  typedef non_const_traits<T> nonconst_traits;
};

template <class T>
struct const_traits {
	typedef T value_type;
  typedef const T&  reference;
  typedef const T*  pointer;
  typedef non_const_traits<T> nonconst_traits;
};

}//end of policy namespace

}//end of dkutil namepsace

#endif //end of include once

