StringBuilderStore.cs
3.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
using System;
using System.Collections.Generic;
using System.Text;
namespace UniJSON
{
public class StringBuilderStore: IStore
{
StringBuilder m_sb;
public StringBuilderStore(StringBuilder sb)
{
m_sb = sb;
}
public ArraySegment<Byte> Bytes
{
get
{
return new ArraySegment<Byte>(
Encoding.UTF8.GetBytes(Buffer())
);
}
}
public string Buffer()
{
return m_sb.ToString();
}
public void Clear()
{
m_sb.Length = 0;
}
public void Write(ArraySegment<byte> bytes)
{
var text = Encoding.UTF8.GetString(bytes.Array, bytes.Offset, bytes.Count);
Write(text);
}
public void Write(byte value)
{
throw new NotImplementedException();
}
public void Write(sbyte value)
{
throw new NotImplementedException();
}
public void Write(IEnumerable<char> src)
{
foreach(var c in src)
{
m_sb.Append(c);
}
}
public void Write(Char c)
{
m_sb.Append(c);
}
public void Write(string src)
{
m_sb.Append(src);
}
#region BigEndian
public void WriteBigEndian(int value)
{
throw new NotImplementedException();
}
public void WriteBigEndian(float value)
{
throw new NotImplementedException();
}
public void WriteBigEndian(double value)
{
throw new NotImplementedException();
}
public void WriteBigEndian(long value)
{
throw new NotImplementedException();
}
public void WriteBigEndian(ulong value)
{
throw new NotImplementedException();
}
public void WriteBigEndian(short value)
{
throw new NotImplementedException();
}
public void WriteBigEndian(uint value)
{
throw new NotImplementedException();
}
public void WriteBigEndian(ushort value)
{
throw new NotImplementedException();
}
#endregion
#region LittleEndian
public void WriteLittleEndian(double value)
{
throw new NotImplementedException();
}
public void WriteLittleEndian(short value)
{
throw new NotImplementedException();
}
public void WriteLittleEndian(int value)
{
throw new NotImplementedException();
}
public void WriteLittleEndian(float value)
{
throw new NotImplementedException();
}
public void WriteLittleEndian(long value)
{
throw new NotImplementedException();
}
public void WriteLittleEndian(ulong value)
{
throw new NotImplementedException();
}
public void WriteLittleEndian(uint value)
{
throw new NotImplementedException();
}
public void WriteLittleEndian(ushort value)
{
throw new NotImplementedException();
}
#endregion
}
}