StreamReader

StreamReader class

Represents a reader that reads characters from a byte stream. 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.

class StreamReader : public System::IO::TextReader

Methods

MethodDescription
void Close() overrideCloses the current and underlying streams.
virtual void Dispose(bool)Releases all resources used by the current object and closes the undelying stream.
void Dispose() overrideReleases all resources used by the current object and closes the undelying stream.
virtual bool Equals(ptr)Compares objects using C# Object.Equals semantics.
static std::enable_if<IsSmartPtr<T1>::value&&IsSmartPtr<T2>::value, bool>::type Equals(T1 const&, T2 const&)Compares reference type objects in C# style.
static std::enable_if<!IsSmartPtr<T1>::value&&!IsSmartPtr<T2>::value, bool>::type Equals(T1 const&, T2 const&)Compares value type objects in C# style.
static bool Equals(float const&, float const&)Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN.
static bool Equals(double const&, double const&)Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN.
virtual bool FastCast(const Details::FastRttiBase&, void **) constFor internal purposes only.
SharedPtr<Stream> get_BaseStream() constReturns a shared pointer to an object that represents the underlying stream.
EncodingPtr get_CurrentEncoding()Returns the currently used encoding.
bool get_EndOfStream()Returns a value that indicates if the end of of stream has been reached.
Detail::SmartPtrCounter * GetCounter()Gets reference counter data structure associated with the object.
virtual int32_t GetHashCode() constAnalog of C# Object.GetHashCode() method. Enables hashing of custom objects.
virtual const TypeInfo& GetType() constGets actual type of object. Analog of C# System.Object.GetType() call.
virtual bool Is(const TypeInfo&) constCheck if object represents an instance of type described by targetType. Analog of C# ‘is’ operator.
void Lock()Implements C# lock() statement locking. Call directly or use LockContext sentry object.
virtual ptr MemberwiseClone() constAnalog of C# Object.MemberwiseClone() method. Enables cloning custom types.
Object()Creates object. Initializes all internal data structures.
Object(Object const&)Copy constructor. Doesn’t copy anything, really, just initializes new object and enables copy constructing subclasses.
Object& operator=(Object const&)Assignment operator. Doesn’t copy anything, really, just initializes new object and enables copy constructing subclasses.
int Peek() overrideReads a single character from the stream without changing the stream’s read cursor.
int Read() overrideReads a single character from the stream.
int Read(ArrayPtr<char_t>, int, int) overrideReads the specified number of characters from the stream, converts them to UTF-16 encoding and writes the resulting UTF-16 characters to the specified character array starting at the specified position.
virtual int ReadBlock(ArrayPtr<char_t>, int, int)Reads the specified maximum number of characters from the current text reader and writes the data to a buffer, starting at the specified index.
String ReadLine() overrideReads characters from the stream until the end of the current line.
String ReadToEnd() overrideReads characters from the stream until the end of the stream.
static bool ReferenceEquals(ptr const&, ptr const&)Compares objects by reference.
static std::enable_if<!IsSmartPtr<T>::value, bool>::type ReferenceEquals(T const&, T const&)Compares objects by reference.
static std::enable_if<!IsSmartPtr<T>::value, bool>::type ReferenceEquals(T const&, std::nullptr_t)Reference-compares value type object with nullptr.
bool ReferenceEquals(String const&, std::nullptr_t)Specialization of Object::ReferenceEquals for case of string and nullptr.
bool ReferenceEquals(String const&, String const&)Specialization of Object::ReferenceEquals for case of strings.
int RemovedSharedRefs(int)Decreases shared reference count by specified value.
virtual void SetTemplateWeakPtr(uint32_t)Set n’th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode.
int SharedCount() constGets current value of shared reference counter.
Object * SharedRefAdded()Increments shared reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
int SharedRefRemovedSafe()Decrements and returns shared reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
StreamReader(const SharedPtr<Stream>&)Constructs an instance of StreamReader object that reads characters from the specified underlying stream using UTF-8 encoding and a buffer with default size of 1024 bytes.
StreamReader(const SharedPtr<Stream>&, bool)Constructs an instance of StreamReader object that reads characters from the specified underlying stream using UTF-8 encoding and a buffer with default size of 1024 bytes. A parameter specifies if byte order mark detection should be enabled.
StreamReader(const SharedPtr<Stream>&, const EncodingPtr&)Constructs an instance of StreamReader object that reads characters from the specified underlying stream using the specified encoding and a buffer with default size of 1024 bytes.
StreamReader(const SharedPtr<Stream>&, const EncodingPtr&, bool)Constructs an instance of StreamReader object that reads characters from the specified underlying stream using the specified encoding and a buffer with default size of 1024 bytes. A parameter specifies if byte order mark detection should be enabled.
StreamReader(const SharedPtr<Stream>&, const EncodingPtr&, bool, int)Constructs an instance of StreamReader object that reads characters from the specified underlying stream using the specified encoding and a buffer of the specified size. A parameter specifies if byte order mark detection should be enabled.
StreamReader(const System::String&)Constructs an instance of StreamReader object that reads characters from the specified file using UTF-8 encoding and a buffer with default size of 4096 bytes.
StreamReader(const System::String&, bool)Constructs an instance of StreamReader object that reads characters from the specified file using UTF-8 encoding and a buffer with default size of 4096 bytes. A parameter specifies if byte order mark detection should be enabled.
StreamReader(const System::String&, const EncodingPtr&)Constructs an instance of StreamReader object that reads characters from the specified file using the specified encoding and a buffer with default size of 4096 bytes.
StreamReader(const System::String&, const EncodingPtr&, bool)Constructs an instance of StreamReader object that reads characters from the specified underlying stream using the specified encoding and a buffer with default size of 4096 bytes. A parameter specifies if byte order mark detection should be enabled.
StreamReader(const System::String&, const EncodingPtr&, bool, int)Constructs an instance of StreamReader object that reads characters from the specified file using the specified encoding and a buffer of the specified size. A parameter specifies if byte order mark detection should be enabled.
virtual String ToString() constAnalog of C# Object.ToString() method. Enables converting custom objects to string.
static const TypeInfo& Type()Implements C# typeof(System.Object) construct.
void Unlock()Implements C# lock() statement unlocking. Call directly or use LockContext sentry object.
Detail::SmartPtrCounter * WeakRefAdded()Increments weak reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
void WeakRefRemoved()Decrements weak reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
virtual ~Object()Destroys object. Frees all internal data structures.
~StreamReader()Destructor.

See Also