¿Cómo puedo determinar el tipo de devolución de una función genérica miembro?C++ plantilla determinar función return tipo
template<class E>
struct result<E> {
// E has member function data(), I need to know its return type
typedef typename &E::data type;
};
es posible hacerlo de forma genérica? Sé que hay boost:: result_of
pero a mis fines carece de especializaciones (si entendí correctamente, el tipo de devolución debe ser especializado). impulsar la implementación sería genial.
Probablemente, no necesitas esa magia en absoluto. Intenta usar 'E :: value_type *' o 'E :: pointer'. Si tiene 'data()' es probable que sea un contenedor y proporcione typedefs públicos. –
@Johannes gracias. en realidad estaba tratando de escribir wrappers para trabajar de forma transparente con ublas y otras cosas. Lamentablemente, la interfaz ublas data() es un poco no estándar (tipo_arquitectura), así que terminé especializándome por separado. – Anycorn