*/
+/// \file
+/// \brief Defines the DAI_ENUM macro
+
+
#ifndef __defined_libdai_enum_h
#define __defined_libdai_enum_h
#include <dai/exceptions.h>
-/// Extends the C++ enum type by supporting io streaming and conversion to and from const char* (using anonymous variadic macros)
-
-
+/// Extends the C++ enum type by supporting input/output streaming and conversion to and from const char* and size_t
+/** For more details see the source code.
+ *
+ * \par Example:
+ * \code
+ * DAI_ENUM(colors,RED,GREEN,BLUE)
+ * \endcode
+ * defines a class \a colors encapsulating an
+ * \code
+ * enum {RED, GREEN, BLUE};
+ * \endcode
+ * which offers additional functionality over the plain \c enum keyword.
+ */
#define DAI_ENUM(x,val0,...) class x {\
public:\
enum value {val0,__VA_ARGS__};\