00001 #ifndef ML_FUNCTIONAL_DEREFERENCE_HPP
00002 #define ML_FUNCTIONAL_DEREFERENCE_HPP
00003
00004 namespace ml_functional {
00005 struct dereference {
00006 template <typename T>
00007 const T& operator()(const T* const ptr) const
00008 { return *ptr; }
00009
00010 template <typename T>
00011 T& operator()(T* const ptr) const
00012 { return *ptr; }
00013 };
00014 }
00015
00016 #endif
00017