00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef Fennel_DeviceMode_Included
00025 #define Fennel_DeviceMode_Included
00026
00027 FENNEL_BEGIN_NAMESPACE
00028
00029 struct FENNEL_DEVICE_EXPORT DeviceMode
00030 {
00031 bool create : 1;
00032 bool readOnly : 1;
00033 bool temporary : 1;
00034 bool direct : 1;
00035 bool sequential : 1;
00036
00037 enum Initializer { load = 0, createNew = 1 };
00038
00039 explicit DeviceMode()
00040 {
00041 init();
00042 }
00043
00044 DeviceMode(Initializer i)
00045 {
00046 init();
00047 create = i;
00048 }
00049
00050 DeviceMode(DeviceMode const &mode)
00051 {
00052 init(mode);
00053 }
00054
00055 void operator = (DeviceMode const &mode)
00056 {
00057 init(mode);
00058 }
00059
00060 private:
00061 void init()
00062 {
00063 create = 0;
00064 readOnly = 0;
00065 temporary = 0;
00066 direct = 0;
00067 sequential = 0;
00068 }
00069
00070 void init(DeviceMode const &mode)
00071 {
00072 create = mode.create;
00073 readOnly = mode.readOnly;
00074 temporary = mode.temporary;
00075 direct = mode.direct;
00076 sequential = mode.sequential;
00077 }
00078 };
00079
00080 FENNEL_END_NAMESPACE
00081
00082 #endif
00083
00084