Estoy seguro de que boost tiene algunas funciones para hacer esto, pero no conozco suficientemente las bibliotecas relevantes. Tengo una clase de plantilla, que es bastante básica, excepto por un giro en el que necesito definir un tipo condicional. Aquí está el código de psuedo para lo que quieroDefiniciones de tipo condicional
struct PlaceHolder {};
template <typename T>
class C{
typedef (T == PlaceHolder ? void : T) usefulType;
};
¿Cómo escribo ese tipo condicional?
interesante. ¿Bajo qué circunstancias sería esto útil? Puede dar un ejemplo. – Stephen
Aquí estaba mi ejemplo. Para uno, los argumentos de plantilla, digamos TYPE, que tienen el valor PlaceHolder significa "desactivar alguna característica". Hay un conjunto de devoluciones de llamadas que tienen el tipo de retorno TYPE * que el significado natural de desactivar la característica es que las devoluciones de llamada tengan el tipo de retorno void. usefulType es el valor de retorno para las devoluciones de llamada. –
@pythonicmetaphor ¿podría cambiar la respuesta aceptada? Los tiempos son diferentes ahora – Ven