27#ifndef ANTARES_DATA_ENUM_HPP
28#define ANTARES_DATA_ENUM_HPP
30#include <initializer_list>
41template<typename E, typename = typename std::enable_if<std::is_enum<E>::value>::type>
42const std::initializer_list<std::string>& getNames();
44template<typename E, typename = typename std::enable_if<std::is_enum<E>::value>::type>
45std::string toString(
const E& value);
47template<typename E, typename = typename std::enable_if<std::is_enum<E>::value>::type>
48E fromString(
const std::string& name);
50template<typename E, typename = typename std::enable_if<std::is_enum<E>::value>::type>
51std::list<E> enumList();
56inline typename std::enable_if<std::is_enum<E>::value, std::ostream&>::type operator<<(
60 stream << Data::Enum::toString(value);
68#include <antares/antares/Enum.hxx>