Fennel: /home/pub/open/dev/fennel/device/DeviceMode.h Source File (original) (raw)

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