12 labelfontname="Helvetica",
30 operating_system [ label="Operating System", shape=ellipse ];
31 io_service [ label="io_service" ];
32 io_object [ label="I/O Object\ne.g. socket" ];
33 your_program [ label="Your Program" ];
34 your_completion_handler [ label="Your Completion Handler" ];
37 // Owning relationships.
39 edge [ arrowtail="diamond" ];
40 your_program:e -> your_completion_handler:n;
41 your_program:w -> io_object:nw;
42 your_program:se -> io_service:ne;
45 // Non-owning relationships;
47 io_object:sw -> io_service:w;
52 edge [ style="dashed", color="#808080" ];
56 your_program:s -> io_service:n [ label="5" ];
61 edge [ arrowhead="none", arrowtail="open" ];
62 io_service:s -> operating_system:n [ label="4" ];
63 your_completion_handler:s -> io_service:e [ label="6" ];
69 edge [ style="invis" ];
73 your_program:sw -> io_object:n [ label="1" ];
74 io_object:s -> io_service:nw [ label="2" ];
75 //io_service:s -> operating_system:n [ label="3" ];