- Memory(char *, unsigned);
- Memory(char *, char *);
- Memory(const char *, unsigned);
- Memory(const char *, const char *);
-private:
- void init(char *, char *, Mode);
+ Memory(char *d, std::size_t s, Mode m = M_RDWR): Memory(d, d+s, m) { }
+ Memory(char *, char *, Mode = M_RDWR);
+ Memory(const char *d, std::size_t s): Memory(const_cast<char *>(d), const_cast<char *>(d+s), M_READ) { }
+ Memory(const char *b, const char *e): Memory(const_cast<char *>(b), const_cast<char *>(e), M_READ) { }
+
+ void set_block(bool) override;
+ void set_inherit(bool) override;