00001 #ifndef DataFormats_Common_GetProduct_h
00002 #define DataFormats_Common_GetProduct_h
00003
00004
00005
00006
00007
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 namespace edm {
00029 namespace detail {
00030 template<typename COLLECTION>
00031 struct GetProduct {
00032 typedef typename COLLECTION::value_type element_type;
00033 typedef typename COLLECTION::const_iterator iter;
00034 static const element_type * address( const iter & i ) {
00035 return &*i;
00036 }
00037 static const COLLECTION * product( const COLLECTION & coll ) {
00038 return & coll;
00039 }
00040 };
00041 }
00042 }
00043
00044 #endif