X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fio%2Fmemory.cpp;h=0539fdbc4245f3c9c9ada441bf2aefdbcf0c0707;hb=34efed1510d68f8258c3b9db37a9f55dcb1eeda9;hp=0b2d8f4c1b7f49ec7ccb93222d2bf48915abf3fd;hpb=122846f0881673770d88eff7d925ecf25c01b62e;p=libs%2Fcore.git diff --git a/source/io/memory.cpp b/source/io/memory.cpp index 0b2d8f4..0539fdb 100644 --- a/source/io/memory.cpp +++ b/source/io/memory.cpp @@ -1,5 +1,6 @@ #include #include +#include #include "handle.h" #include "memory.h" @@ -8,22 +9,34 @@ using namespace std; namespace Msp { namespace IO { -Memory::Memory(char *b, char *e, Mode m) +Memory::Memory(char *d, std::size_t s, Mode m): + Memory(d, d+s, m) +{ } + +Memory::Memory(char *b, char *e, Mode m): + begin(b), + end(e), + pos(begin) { - begin = b; - end = e; - pos = begin; mode = m; } +Memory::Memory(const char *d, std::size_t s): + Memory(const_cast(d), const_cast(d+s), M_READ) +{ } + +Memory::Memory(const char *b, const char *e): + Memory(const_cast(b), const_cast(e), M_READ) +{ } + void Memory::set_block(bool) { - throw logic_error("Memory::set_block"); + throw unsupported("Memory::set_block"); } void Memory::set_inherit(bool) { - throw logic_error("Memory::set_inherit"); + throw unsupported("Memory::set_inherit"); } size_t Memory::do_write(const char *buf, size_t size) @@ -94,7 +107,7 @@ int Memory::get() const Handle &Memory::get_handle(Mode) { - throw logic_error("Memory::get_handle"); + throw unsupported("Memory::get_handle"); } SeekOffset Memory::seek(SeekOffset off, SeekType type)