X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fio%2Fmode.h;fp=source%2Fio%2Fmode.h;h=5e103f278907be65a1f7f91da38ac34c5d113301;hp=0000000000000000000000000000000000000000;hb=6e0fd758970bcb5bad5e3f2454b694cc4d7b4b66;hpb=b97d4e9f86e90254ab9edef7ee62a910f6333c78 diff --git a/source/io/mode.h b/source/io/mode.h new file mode 100644 index 0000000..5e103f2 --- /dev/null +++ b/source/io/mode.h @@ -0,0 +1,29 @@ +#ifndef MSP_IO_MODE_H_ +#define MSP_IO_MODE_H_ + +namespace Msp { +namespace IO { + +enum Mode +{ + M_NONE = 0, + M_READ = 1, + M_WRITE = 2, + M_RDWR = M_READ|M_WRITE, + M_APPEND = 4, + M_NONBLOCK = 8 +}; + +inline Mode operator|(Mode m, Mode n) +{ return Mode(static_cast(m)|static_cast(n)); } + +inline Mode operator&(Mode m, Mode n) +{ return Mode(static_cast(m)&static_cast(n)); } + +inline Mode operator~(Mode m) +{ return Mode(~static_cast(m)); } + +} // namespace IO +} // namespace Msp + +#endif