DotNetDupe
4.0.6
C++17/20 Implementation of the .NET Base Class Library (BCL)
Toggle main menu visibility
Loading...
Searching...
No Matches
BinaryWriter.h
Go to the documentation of this file.
1
#pragma once
2
#include "
Common.h
"
3
#include "
System/Object.h
"
4
#include "
System/IO/IDisposable.h
"
5
#include "
System/IO/Stream.h
"
6
#include "
System/Array.h
"
7
#include "
System/String.h
"
8
#include "
System/SmartPointer.h
"
9
10
namespace
DotNetDupe
{
11
namespace
System
{
12
namespace
IO
{
13
20
class
BinaryWriter
:
public
Object
,
public
IDisposable
{
21
public
:
27
DOTNETDUPE_API
explicit
BinaryWriter
(
Stream
* pStream,
bool
bLeaveOpen =
false
,
bool
bIsLittleEndian =
true
);
28
34
DOTNETDUPE_API
explicit
BinaryWriter
(
SmartPointer<Stream>
spStream,
bool
bLeaveOpen =
false
,
bool
bIsLittleEndian =
true
);
35
37
DOTNETDUPE_API
virtual
~BinaryWriter
();
38
40
DOTNETDUPE_API
virtual
void
Close
();
41
43
DOTNETDUPE_API
void
Dispose
()
override
;
44
46
DOTNETDUPE_API
virtual
void
Flush
();
47
50
DOTNETDUPE_API
Stream
*
GetBaseStream
()
const
;
51
54
DOTNETDUPE_API
bool
IsLittleEndian
()
const
;
55
58
DOTNETDUPE_API
void
SetLittleEndian
(
bool
bIsLittleEndian);
59
64
DOTNETDUPE_API
virtual
long
Seek
(
long
lOffset,
int
iOrigin);
65
68
DOTNETDUPE_API
virtual
void
Write
(
bool
bValue);
69
72
DOTNETDUPE_API
virtual
void
Write
(
byte
bValue);
73
76
DOTNETDUPE_API
virtual
void
Write
(
char
chValue);
77
80
DOTNETDUPE_API
virtual
void
Write
(
signed
char
chValue);
81
84
DOTNETDUPE_API
virtual
void
Write
(
const
Array<byte>
& arrBuffer);
85
90
DOTNETDUPE_API
virtual
void
Write
(
const
Array<byte>
& arrBuffer,
int
iIndex,
int
iCount);
91
94
DOTNETDUPE_API
virtual
void
Write
(
short
iValue);
95
98
DOTNETDUPE_API
virtual
void
Write
(
unsigned
short
uValue);
99
102
DOTNETDUPE_API
virtual
void
Write
(
int
iValue);
103
106
DOTNETDUPE_API
virtual
void
Write
(
unsigned
int
uValue);
107
110
DOTNETDUPE_API
virtual
void
Write
(
long
long
llValue);
111
114
DOTNETDUPE_API
virtual
void
Write
(
unsigned
long
long
ullValue);
115
118
DOTNETDUPE_API
virtual
void
Write
(
float
fValue);
119
122
DOTNETDUPE_API
virtual
void
Write
(
double
dValue);
123
126
DOTNETDUPE_API
virtual
void
Write
(
const
String
& sValue);
127
128
private
:
129
Stream
* m_pStream;
130
SmartPointer<Stream>
m_spOwnedStream;
131
bool
m_bLeaveOpen;
132
bool
m_bIsLittleEndian;
133
bool
m_bDisposed;
134
135
void
EnsureNotDisposed()
const
;
136
void
WriteInternal(
const
char
* pBuffer,
int
iCount);
137
};
138
139
using
BinaryWriterPtr
=
SmartPointer<BinaryWriter>
;
140
141
}
142
}
143
}
Array.h
Provides methods for creating, manipulating, searching, and sorting arrays.
Common.h
Defines common cross-platform macros, export decorators, and fundamental types.
DOTNETDUPE_API
#define DOTNETDUPE_API
Platform-specific linkage decoration for exporting or importing library symbols.
Definition
Common.h:20
IDisposable.h
Object.h
Base object class for DotNetDupe mirroring .NET System.Object.
SmartPointer.h
Provides reference-counted and weak pointer memory management primitives ensuring zero raw ownership.
Stream.h
String.h
High-performance UTF-8 / UTF-16 string manipulation class mirroring .NET System.String.
DotNetDupe::System::Array
Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the ba...
Definition
Array.h:29
DotNetDupe::System::IO::BinaryWriter::IsLittleEndian
bool IsLittleEndian() const
Gets whether values are encoded in little-endian order.
Definition
BinaryWriter.cpp:75
DotNetDupe::System::IO::BinaryWriter::Flush
virtual void Flush()
Clears all buffers for the current writer and causes any buffered data to be written to the underlyin...
Definition
BinaryWriter.cpp:63
DotNetDupe::System::IO::BinaryWriter::Dispose
void Dispose() override
Releases all unmanaged resources used by the BinaryWriter.
Definition
BinaryWriter.cpp:53
DotNetDupe::System::IO::BinaryWriter::GetBaseStream
Stream * GetBaseStream() const
Exposes access to the underlying stream.
Definition
BinaryWriter.cpp:71
DotNetDupe::System::IO::BinaryWriter::Close
virtual void Close()
Closes the current BinaryWriter and the underlying stream if configured.
Definition
BinaryWriter.cpp:48
DotNetDupe::System::IO::BinaryWriter::Seek
virtual long Seek(long lOffset, int iOrigin)
Sets the position within the current stream.
Definition
BinaryWriter.cpp:83
DotNetDupe::System::IO::BinaryWriter::Write
virtual void Write(bool bValue)
Writes a one-byte Boolean value to the current stream, with 0 representing false and 1 representing t...
Definition
BinaryWriter.cpp:108
DotNetDupe::System::IO::BinaryWriter::SetLittleEndian
void SetLittleEndian(bool bIsLittleEndian)
Sets the endianness for binary encoding.
Definition
BinaryWriter.cpp:79
DotNetDupe::System::IO::BinaryWriter::BinaryWriter
BinaryWriter(Stream *pStream, bool bLeaveOpen=false, bool bIsLittleEndian=true)
Initializes a new instance of the BinaryWriter class based on the specified stream and endianness.
Definition
BinaryWriter.cpp:13
DotNetDupe::System::IO::IDisposable
Provides a mechanism for releasing unmanaged resources.
Definition
IDisposable.h:13
DotNetDupe::System::IO::Stream
Provides a generic view of a sequence of bytes.
Definition
Stream.h:16
DotNetDupe::System::Object
Supports all classes in the DotNetDupe class hierarchy.
Definition
Object.h:18
DotNetDupe::System::SmartPointer
A unified smart pointer that supports both unique and shared ownership semantics.
Definition
SmartPointer.h:72
DotNetDupe::System::String
Represents text as a sequence of UTF-8 code units with culture-invariant operations.
Definition
String.h:74
DotNetDupe::System::IO
Definition
Console.h:17
DotNetDupe::System::IO::BinaryWriterPtr
SmartPointer< BinaryWriter > BinaryWriterPtr
Definition
BinaryWriter.h:139
DotNetDupe::System
Definition
Action.h:11
DotNetDupe
Definition
IServiceCollection.h:7
Include
System
IO
BinaryWriter.h
Generated by
1.18.0