Home | History | Annotate | Download | only in diagram
      1 digraph {
      2 	rankdir=LR
      3 	compound=true
      4 	fontname="Inconsolata, Consolas"
      5 	fontsize=10
      6 	margin="0,0"
      7 	ranksep=0.3
      8 	nodesep=0.15
      9 	penwidth=0.5
     10 	colorscheme=spectral7
     11 	
     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]
     14 
     15 	subgraph cluster0 {
     16 		style=filled
     17 		fillcolor=4
     18 
     19 		Encoding [label="<<concept>>\nEncoding"]
     20 
     21 		edge [arrowtail=onormal, dir=back]
     22 		Encoding -> { UTF8; UTF16; UTF32; ASCII; AutoUTF }
     23 		UTF16 -> { UTF16LE; UTF16BE }
     24 		UTF32 -> { UTF32LE; UTF32BE }
     25 	}
     26 
     27 	subgraph cluster1 {
     28 		style=filled
     29 		fillcolor=5
     30 
     31 		Stream [label="<<concept>>\nStream"]
     32 		InputByteStream [label="<<concept>>\nInputByteStream"]
     33 		OutputByteStream [label="<<concept>>\nOutputByteStream"]
     34 
     35 		edge [arrowtail=onormal, dir=back]
     36 		Stream -> { 
     37 			StringStream; InsituStringStream; StringBuffer; 
     38 			EncodedInputStream; EncodedOutputStream; 
     39 			AutoUTFInputStream; AutoUTFOutputStream 
     40 			InputByteStream; OutputByteStream
     41 		}
     42 
     43 		InputByteStream ->	{ MemoryStream; FlieReadStream }
     44 		OutputByteStream -> { MemoryBuffer; FileWriteStream } 
     45 	}
     46 
     47 	subgraph cluster2 {
     48 		style=filled
     49 		fillcolor=3
     50 
     51 		Allocator [label="<<concept>>\nAllocator"]
     52 
     53 		edge [arrowtail=onormal, dir=back]
     54 		Allocator -> { CrtAllocator; MemoryPoolAllocator }
     55 	}
     56 
     57 	{
     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]
     64 	}
     65 
     66 	{
     67 		edge [arrowhead=vee, style=dashed]
     68 		AutoUTFInputStream -> AutoUTF
     69 		AutoUTFOutputStream -> AutoUTF
     70 	}
     71 
     72 	//UTF32LE -> Stream [style=invis]
     73 }