PhoenixInkscape  2.0.0
Generate multiple png files with svg inkscape files
data_stream_enum.h
Go to the documentation of this file.
1 /***************************************
2  Auteur : Pierre Aubert
3  Mail : pierre.aubert@lapp.in2p3.fr
4  Licence : CeCILL-C
5 ****************************************/
6 
7 #ifndef __DATA_STREAM_ENUM_H__
8 #define __DATA_STREAM_ENUM_H__
9 
10 #include "data_stream_include.h"
11 
13 #define PHOENIX_DATA_STREAM_ENUM(X) template<typename Stream> \
14 struct DataStream<Stream, DataStreamMode::READ, X>{ \
15  static bool data_stream(Stream & ds, X & data){ \
16  int value(0); \
17  bool b = DataStream<Stream, DataStreamMode::READ, int>::data_stream(ds, value); \
18  data = (X)value; \
19  return b; \
20  } \
21 }; \
22 template<typename Stream> \
23 struct DataStream<Stream, DataStreamMode::WRITE, X>{ \
24  static bool data_stream(Stream & ds, X & data){ \
25  int value = (int)data; \
26  return DataStream<Stream, DataStreamMode::WRITE, int>::data_stream(ds, value); \
27  } \
28 }; \
29 
30 #endif
31