#define MSP_IO_MODE_H_
#include <stdexcept>
+#include <msp/core/mspcore_api.h>
namespace Msp {
namespace IO {
M_WRITE = 2,
M_RDWR = M_READ|M_WRITE,
M_APPEND = 4,
- M_NONBLOCK = 8
+ M_NONBLOCK = 8,
+ M_INHERIT = 16
};
inline Mode operator|(Mode m, Mode n)
inline Mode operator~(Mode m)
{ return Mode(~static_cast<int>(m)); }
+inline void adjust_mode(Mode &m, Mode f, bool b)
+{ m = b ? (m|f) : (m&~f); }
-class invalid_access: public std::logic_error
+
+class MSPCORE_API invalid_access: public std::logic_error
{
public:
invalid_access(Mode);