template<typename Stream> \
static bool data_stream(Stream & ds, X & data){ \
int value(0); \
data = (X)value; \
return b; \
} \
}; \
template<typename Stream> \
static bool data_stream(Stream & ds, X & data){ \
int value = (int)data; \
} \
}; \
DataStreamMode
Stream mode : READ or WRITE.
Generic DataStream class.
static bool data_stream(Stream &ds, T &data)
Dummy function to catch if a type is not specialised.
Macro which allows to simply integrate enum types into Data Stream workflow.
13#define PHOENIX_DATA_STREAM_ENUM(X) template<typename Stream> \
14struct 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}; \
22template<typename Stream> \
23struct 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