| digraph { |
| rankdir=LR |
| compound=true |
| fontname="Inconsolata, Consolas" |
| fontsize=10 |
| margin="0,0" |
| ranksep=0.3 |
| nodesep=0.15 |
| penwidth=0.5 |
| colorscheme=spectral7 |
| |
| node [shape=box, fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5, style=filled, fillcolor=white] |
| edge [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5] |
| |
| subgraph cluster0 { |
| style=filled |
| fillcolor=4 |
| |
| Encoding [label="<<concept>>\nEncoding"] |
| |
| edge [arrowtail=onormal, dir=back] |
| Encoding -> { UTF8; UTF16; UTF32; ASCII; AutoUTF } |
| UTF16 -> { UTF16LE; UTF16BE } |
| UTF32 -> { UTF32LE; UTF32BE } |
| } |
| |
| subgraph cluster1 { |
| style=filled |
| fillcolor=5 |
| |
| Stream [label="<<concept>>\nStream"] |
| InputByteStream [label="<<concept>>\nInputByteStream"] |
| OutputByteStream [label="<<concept>>\nOutputByteStream"] |
| |
| edge [arrowtail=onormal, dir=back] |
| Stream -> { |
| StringStream; InsituStringStream; StringBuffer; |
| EncodedInputStream; EncodedOutputStream; |
| AutoUTFInputStream; AutoUTFOutputStream |
| InputByteStream; OutputByteStream |
| } |
| |
| InputByteStream -> { MemoryStream; FlieReadStream } |
| OutputByteStream -> { MemoryBuffer; FileWriteStream } |
| } |
| |
| subgraph cluster2 { |
| style=filled |
| fillcolor=3 |
| |
| Allocator [label="<<concept>>\nAllocator"] |
| |
| edge [arrowtail=onormal, dir=back] |
| Allocator -> { CrtAllocator; MemoryPoolAllocator } |
| } |
| |
| { |
| edge [arrowtail=odiamond, arrowhead=vee, dir=both] |
| EncodedInputStream -> InputByteStream |
| EncodedOutputStream -> OutputByteStream |
| AutoUTFInputStream -> InputByteStream |
| AutoUTFOutputStream -> OutputByteStream |
| MemoryPoolAllocator -> Allocator [label="base", tailport=s] |
| } |
| |
| { |
| edge [arrowhead=vee, style=dashed] |
| AutoUTFInputStream -> AutoUTF |
| AutoUTFOutputStream -> AutoUTF |
| } |
| |
| //UTF32LE -> Stream [style=invis] |
| } |