4 fontname="Inconsolata, Consolas"
12 node [shape=box, fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5, style=filled, fillcolor=white]
13 edge [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5]
19 Encoding [label="<<concept>>\nEncoding"]
21 edge [arrowtail=onormal, dir=back]
22 Encoding -> { UTF8; UTF16; UTF32; ASCII; AutoUTF }
23 UTF16 -> { UTF16LE; UTF16BE }
24 UTF32 -> { UTF32LE; UTF32BE }
31 Stream [label="<<concept>>\nStream"]
32 InputByteStream [label="<<concept>>\nInputByteStream"]
33 OutputByteStream [label="<<concept>>\nOutputByteStream"]
35 edge [arrowtail=onormal, dir=back]
37 StringStream; InsituStringStream; StringBuffer;
38 EncodedInputStream; EncodedOutputStream;
39 AutoUTFInputStream; AutoUTFOutputStream
40 InputByteStream; OutputByteStream
43 InputByteStream -> { MemoryStream; FlieReadStream }
44 OutputByteStream -> { MemoryBuffer; FileWriteStream }
51 Allocator [label="<<concept>>\nAllocator"]
53 edge [arrowtail=onormal, dir=back]
54 Allocator -> { CrtAllocator; MemoryPoolAllocator }
58 edge [arrowtail=odiamond, arrowhead=vee, dir=both]
59 EncodedInputStream -> InputByteStream
60 EncodedOutputStream -> OutputByteStream
61 AutoUTFInputStream -> InputByteStream
62 AutoUTFOutputStream -> OutputByteStream
63 MemoryPoolAllocator -> Allocator [label="base", tailport=s]
67 edge [arrowhead=vee, style=dashed]
68 AutoUTFInputStream -> AutoUTF
69 AutoUTFOutputStream -> AutoUTF
72 //UTF32LE -> Stream [style=invis]