1 #ifndef DataFormats_Common_RefTraits_h
2 #define DataFormats_Common_RefTraits_h
8 template<
typename C,
typename T,
typename F>
class RefVector;
12 template<
typename C,
typename T>
19 typename C::const_iterator it = iContainer.begin();
20 std::advance(it, static_cast<typename C::size_type>(iIndex));
21 return it.operator->();
25 template<
typename REFV>
27 typename REFV::key_type,
28 typename REFV::member_type const*> {
30 typename self::result_type
operator()(
typename self::first_argument_type iContainer,
31 typename self::second_argument_type iIndex) {
32 typename REFV::const_iterator it = iContainer.begin();
33 std::advance(it, iIndex);
34 return it.operator->()->get();;
39 template<
typename C,
typename T>
44 template<
typename C,
typename T,
typename F>
59 template<
typename C,
typename T,
typename F>
FindRefVectorUsingAdvance< RefToBaseVector< T > > value
FindRefVectorUsingAdvance< RefVector< C, T, F > > value
self::result_type operator()(typename self::first_argument_type iContainer, typename self::second_argument_type iIndex)
Container::value_type value_type
unsigned int second_argument_type
FindUsingAdvance< C, T > value
result_type operator()(first_argument_type iContainer, second_argument_type iIndex)
edm::RefVector< Container > RefVector
C const & first_argument_type