Inherits System::IO::Stream.
Inherited by System::Details::WinResourceStream.
Public Types | |
typedef System::SharedPtr< System::IO::MemoryStream > | Ptr |
An alias for a shared pointer to the self. More... | |
Public Types inherited from System::IO::Stream | |
typedef SharedPtr< Stream > | Ptr |
An alias for a shared pointer to this class. More... | |
Public Types inherited from System::Object | |
typedef SmartPtr< Object > | ptr |
Alias for smart pointer type. More... | |
Public Member Functions | |
ASPOSECPP_SHARED_API | MemoryStream () |
Constructs a new instance of the MemoryStream class with initial capacity equal to 0. More... | |
ASPOSECPP_SHARED_API | MemoryStream (int capacity_) |
ASPOSECPP_SHARED_API | MemoryStream (const ArrayPtr< uint8_t > &content, bool writable=true) |
ASPOSECPP_SHARED_API | MemoryStream (const ArrayPtr< uint8_t > &content, int index, int count, bool writable=true, bool publiclyVisible=false) |
ASPOSECPP_SHARED_API void | set_Capacity (int value) |
ASPOSECPP_SHARED_API int | get_Capacity () |
Returns the current capacity of the underlying memory buffer. More... | |
virtual ASPOSECPP_SHARED_API ArrayPtr< uint8_t > | ToArray () |
Returns a copy of underlying memory buffer as an array of bytes. More... | |
ASPOSECPP_SHARED_API int | ReadByte () override |
ASPOSECPP_SHARED_API void | WriteByte (uint8_t value) override |
ASPOSECPP_SHARED_API int32_t | Read (const ArrayPtr< uint8_t > &buffer, int32_t offset, int32_t count) override |
ASPOSECPP_SHARED_API void | Write (const ArrayPtr< uint8_t > &buffer, int32_t offset, int32_t count) override |
ASPOSECPP_SHARED_API int32_t | Read (const System::Details::ArrayView< uint8_t > &buffer, int32_t offset, int32_t count) override |
ASPOSECPP_SHARED_API void | Write (const System::Details::ArrayView< uint8_t > &buffer, int32_t offset, int32_t count) override |
ASPOSECPP_SHARED_API int64_t | Seek (int64_t offset, SeekOrigin origin) override |
ASPOSECPP_SHARED_API void | SetLength (int64_t value) override |
ASPOSECPP_SHARED_API void | Flush () override |
Does nothing. More... | |
virtual ASPOSECPP_SHARED_API void | WriteTo (SharedPtr< Stream > stream) |
virtual ASPOSECPP_SHARED_API ArrayPtr< uint8_t > | GetBuffer () |
Returns a pointer to the underlying buffer. More... | |
bool | TryGetBuffer (ArraySegment< uint8_t > &buffer) |
ASPOSECPP_SHARED_API void | set_Position (int64_t value) override |
ASPOSECPP_SHARED_API int64_t | get_Position () const override |
Returns the current position of the stream. More... | |
ASPOSECPP_SHARED_API int64_t | get_Length () const override |
Returns the length of the stream in bytes. More... | |
ASPOSECPP_SHARED_API bool | get_CanRead () const override |
ASPOSECPP_SHARED_API bool | get_CanSeek () const override |
ASPOSECPP_SHARED_API bool | get_CanWrite () const override |
virtual ASPOSECPP_SHARED_API void | Close () override |
Closes the stream. More... | |
Public Member Functions inherited from System::IO::Stream | |
template<std::size_t N> | |
int32_t | Read (const System::Details::StackArray< uint8_t, N > &buffer, int32_t offset, int32_t count) |
template<std::size_t N> | |
void | Write (const System::Details::StackArray< uint8_t, N > &buffer, int32_t offset, int32_t count) |
ASPOSECPP_SHARED_API void | Dispose () override |
Releases all resources used by the current object and closes the stream. More... | |
virtual ASPOSECPP_SHARED_API System::SharedPtr< System::IAsyncResult > | BeginRead (System::ArrayPtr< uint8_t > buffer, int offset, int count, System::AsyncCallback callback, System::SharedPtr< System::Object > state) |
virtual ASPOSECPP_SHARED_API System::SharedPtr< System::IAsyncResult > | BeginWrite (System::ArrayPtr< uint8_t > buffer, int offset, int count, System::AsyncCallback callback, System::SharedPtr< System::Object > state) |
virtual ASPOSECPP_SHARED_API int | EndRead (System::SharedPtr< System::IAsyncResult > asyncResult) |
virtual ASPOSECPP_SHARED_API void | EndWrite (System::SharedPtr< System::IAsyncResult > asyncResult) |
ASPOSECPP_SHARED_API void | CopyTo (const SharedPtr< Stream > &destination) |
ASPOSECPP_SHARED_API void | CopyTo (const SharedPtr< Stream > &destination, int32_t buffer_size) |
virtual ASPOSECPP_SHARED_API bool | get_CanTimeout () const |
virtual ASPOSECPP_SHARED_API void | set_ReadTimeout (int timeout) |
Sets a value that determines whether the current stream can time out. More... | |
virtual ASPOSECPP_SHARED_API int | get_ReadTimeout () const |
virtual ASPOSECPP_SHARED_API void | set_WriteTimeout (int timeout) |
Sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out. More... | |
virtual ASPOSECPP_SHARED_API int | get_WriteTimeout () const |
Gets a value, in milliseconds, that determines how long the stream will attempt to write before timing out. More... | |
Public Member Functions inherited from System::Object | |
ASPOSECPP_SHARED_API | Object () |
Creates object. Initializes all internal data structures. More... | |
virtual ASPOSECPP_SHARED_API | ~Object () |
Destroys object. Frees all internal data structures. More... | |
ASPOSECPP_SHARED_API | Object (Object const &x) |
Copy constructor. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More... | |
Object & | operator= (Object const &x) |
Assignment operator. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More... | |
Object * | SharedRefAdded () |
Increments shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More... | |
int | SharedRefRemovedSafe () |
Decrements and returns shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More... | |
int | RemovedSharedRefs (int count) |
Decreases shared reference count by specified value. More... | |
Detail::SmartPtrCounter * | WeakRefAdded () |
Increments weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More... | |
void | WeakRefRemoved () |
Decrements weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More... | |
Detail::SmartPtrCounter * | GetCounter () |
Gets reference counter data structure associated with the object. More... | |
int | SharedCount () const |
Gets current value of shared reference counter. More... | |
ASPOSECPP_SHARED_API void | Lock () |
Implements C# lock() statement locking. Call directly or use LockContext sentry object. More... | |
ASPOSECPP_SHARED_API void | Unlock () |
Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More... | |
virtual ASPOSECPP_SHARED_API bool | Equals (ptr obj) |
Compares objects using C# Object.Equals semantics. More... | |
virtual ASPOSECPP_SHARED_API int32_t | GetHashCode () const |
Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. More... | |
virtual ASPOSECPP_SHARED_API String | ToString () const |
Analog of C# Object.ToString() method. Enables converting custom objects to string. More... | |
virtual ASPOSECPP_SHARED_API ptr | MemberwiseClone () const |
Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More... | |
virtual ASPOSECPP_SHARED_API const TypeInfo & | GetType () const |
Gets actual type of object. Analog of C# System.Object.GetType() call. More... | |
virtual ASPOSECPP_SHARED_API bool | Is (const TypeInfo &targetType) const |
Check if object represents an instance of type described by targetType. Analog of C# 'is' operator. More... | |
virtual ASPOSECPP_SHARED_API void | SetTemplateWeakPtr (uint32_t argument) |
Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. More... | |
virtual ASPOSECPP_SHARED_API bool | FastCast (const Details::FastRttiBase &helper, void **out_ptr) const |
For internal purposes only. More... | |
template<> | |
bool | Equals (float const &objA, float const &objB) |
template<> | |
bool | Equals (double const &objA, double const &objB) |
template<> | |
bool | ReferenceEquals (String const &str, std::nullptr_t) |
template<> | |
bool | ReferenceEquals (String const &str1, String const &str2) |
Additional Inherited Members | |
Static Public Member Functions inherited from System::Object | |
static bool | ReferenceEquals (ptr const &objA, ptr const &objB) |
Compares objects by reference. More... | |
template<typename T > | |
static std::enable_if<!IsSmartPtr< T >::value, bool >::type | ReferenceEquals (T const &objA, T const &objB) |
Compares objects by reference. More... | |
template<typename T > | |
static std::enable_if<!IsSmartPtr< T >::value, bool >::type | ReferenceEquals (T const &objA, std::nullptr_t) |
Reference-compares value type object with nullptr. More... | |
template<typename T1 , typename T2 > | |
static std::enable_if< IsSmartPtr< T1 >::value &&IsSmartPtr< T2 >::value, bool >::type | Equals (T1 const &objA, T2 const &objB) |
Compares reference type objects in C# style. More... | |
template<typename T1 , typename T2 > | |
static std::enable_if<!IsSmartPtr< T1 >::value &&!IsSmartPtr< T2 >::value, bool >::type | Equals (T1 const &objA, T2 const &objB) |
Compares value type objects in C# style. More... | |
static const TypeInfo & | Type () |
Implements C# typeof(System.Object) construct. More... | |
Static Public Attributes inherited from System::IO::Stream | |
static const System::SharedPtr< Stream > ASPOSECPP_SHARED_API | Null |
A stream with no underlying storage. More... | |
Protected Member Functions inherited from System::IO::Stream | |
virtual ASPOSECPP_SHARED_API void | Dispose (bool disposing) |
Represents a stream that reads from and writes to memory. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
An alias for a shared pointer to the self.
ASPOSECPP_SHARED_API System::IO::MemoryStream::MemoryStream | ( | ) |
Constructs a new instance of the MemoryStream class with initial capacity equal to 0.
ASPOSECPP_SHARED_API System::IO::MemoryStream::MemoryStream | ( | int | capacity_ | ) |
Constructs a new instance of the MemoryStream class that represents a stream based on a memory buffer of the specified size.
capacity_ | The size in bytes of a memory buffer associated with the stream represented by the object being created |
ASPOSECPP_SHARED_API System::IO::MemoryStream::MemoryStream | ( | const ArrayPtr< uint8_t > & | content, |
bool | writable = true |
||
) |
Constructs a new instance of the MemoryStream class that represents a memory stream which is connected to the specified memory buffer. A parameter specifies if the stream is writable.
content | A byte array to be used as a memory buffer on which the stream represented by the object being created will be based |
writable | Specifies if the stream should be writable |
ASPOSECPP_SHARED_API System::IO::MemoryStream::MemoryStream | ( | const ArrayPtr< uint8_t > & | content, |
int | index, | ||
int | count, | ||
bool | writable = true , |
||
bool | publiclyVisible = false |
||
) |
Constructs a new instance of the MemoryStream class that represents a memory stream which is connected to a segment of the specified memory buffer starting at the specified index and including the specified number of elements. Parameters specifies if the stream is writable and if method GetBytes() can be called
content | A byte array a segment of which is to be used as a memory buffer on which the stream represented by the object being created will be based |
index | A 0-based index of the element in content at which the segment begins |
count | The number of elements of content included in the segment |
writable | Specifies if the stream should be writable |
publiclyVisible | Specifies if the underlying memory buffer should be made available to the caller of method GetByte() |
|
overridevirtual |
Closes the stream.
Reimplemented from System::IO::Stream.
|
overridevirtual |
Does nothing.
Implements System::IO::Stream.
|
overridevirtual |
Determines if the stream is readable.
Implements System::IO::Stream.
|
overridevirtual |
Determines if the stream supports seeking.
Implements System::IO::Stream.
|
overridevirtual |
Determines if the stream is writable.
Implements System::IO::Stream.
ASPOSECPP_SHARED_API int System::IO::MemoryStream::get_Capacity | ( | ) |
Returns the current capacity of the underlying memory buffer.
|
overridevirtual |
Returns the length of the stream in bytes.
Implements System::IO::Stream.
|
overridevirtual |
Returns the current position of the stream.
Implements System::IO::Stream.
|
virtual |
Returns a pointer to the underlying buffer.
|
overridevirtual |
Reads the specified number of bytes from the stream and writes them to the specified byte array.
buffer | The byte array to write the read bytes to |
offset | A 0-based position in buffer to start writing at |
count | The number of bytes to read |
Implements System::IO::Stream.
|
overridevirtual |
Reads the specified number of bytes from the stream and writes them to the specified byte array.
buffer | The byte array view to write the read bytes to |
offset | A 0-based position in buffer to start writing at |
count | The number of bytes to read |
Reimplemented from System::IO::Stream.
|
overridevirtual |
Reads a single byte from the stream and returns a 32-bit integer value equivalent to the value of the read byte.
Reimplemented from System::IO::Stream.
|
overridevirtual |
Sets the position of the stream represented by the current object.
offset | The byte offset relative to a position specified by origin |
origin | Specifies the position from which and the direction toward which the offset is calculated |
Implements System::IO::Stream.
ASPOSECPP_SHARED_API void System::IO::MemoryStream::set_Capacity | ( | int | value | ) |
Sets the capacity of the underlying memory buffer.
value | The new capacity in bytes to set |
|
overridevirtual |
Sets the stream's position.
value | The byte offset to set the stream's position to |
Implements System::IO::Stream.
|
overridevirtual |
Sets the length of the stream represented by the current object.
value | The length in bytes to set |
Implements System::IO::Stream.
|
virtual |
Returns a copy of underlying memory buffer as an array of bytes.
bool System::IO::MemoryStream::TryGetBuffer | ( | ArraySegment< uint8_t > & | buffer | ) |
Returns the array of unsigned bytes from which this stream was created.
buffer | byte array - out paramter. When this method returns true, the byte array segment from which this stream was created; when this method returns false, this parameter is set to default. |
|
overridevirtual |
Writes the specified subrange of bytes from the specified byte array to the stream.
buffer | The array containing the bytes to write |
offset | A 0-based index of the elemnet in buffer at which the subrange to write begins |
count | The number of elements in the subrange to write |
Implements System::IO::Stream.
|
overridevirtual |
Writes the specified subrange of bytes from the specified byte array to the stream.
buffer | The array view containing the bytes to write |
offset | A 0-based index of the elemnet in buffer at which the subrange to write begins |
count | The number of elements in the subrange to write |
Reimplemented from System::IO::Stream.
|
overridevirtual |
Writes the specified unsigned 8-bit integer value to the stream.
value | The value to write |
Reimplemented from System::IO::Stream.