La plantilla std::is_enum de C++ STL se usa para verificar si el tipo dado es enum o no. Devuelve un valor booleano que muestra lo mismo.
Sintaxis :
template <class T> struct is_enum;
Parámetro : esta plantilla acepta un solo parámetro T (clase de rasgo) para verificar si T es un tipo de enumeración o no.
Valor devuelto: esta plantilla devuelve un valor booleano como se muestra a continuación:
- Verdadero: si el tipo es una enumeración.
- Falso: si el tipo es una no enumeración.
Los siguientes programas ilustran la plantilla std::is_enum en C++:
Programa 1: :
// C++ program to illustrate // is_enum template #include <iostream> #include <type_traits> using namespace std; class GFG1 { }; enum class GFG2 { var1, var2, var3, var4 }; // Driver code int main() { cout << boolalpha; cout << "is_enum:" << endl; cout << "GFG1: " << is_enum<GFG1>::value << endl; cout << "GFG2: " << is_enum<GFG2>::value << endl; return 0; }
Producción:
is_enum: GFG1: false GFG2: true
Programa 2: :
// C++ program to illustrate // is_enum template #include <iostream> #include <type_traits> using namespace std; class GFG1 { }; enum class GFG2 : int {}; // Driver code int main() { cout << boolalpha; cout << "is_enum:" << endl; cout << "GFG1: " << is_enum<GFG1>::value << '\n'; cout << "GFG2: " << is_enum<GFG2>::value << '\n'; cout << "int: " << is_enum<int>::value << '\n'; return 0; }
Producción:
is_enum: GFG1: false GFG2: true int: false
Publicación traducida automáticamente
Artículo escrito por rajasethupathi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA