3 \tikzstyle{abstract}=[rectangle, draw=black, rounded corners, fill=white, drop shadow, text centered, anchor=north, text width=6cm]
\r
6 \node (Vector) [abstract, rectangle split, rectangle split parts=3]
\r
10 \begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily]
\r
15 \begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily]
\r
18 void axpy(value_type,Vector);
\r
19 void axpby(value_type,Vector);
\r
21 value_type dot(Vector);
\r
22 Vector* duplicate();
\r
23 void fill(value_type);
\r
26 void scal(vale_type);
\r
31 \node (Matrix) [abstract, rectangle split, rectangle split parts=3, below right=0cm and 0.4cm of Vector.north east]
\r
35 \begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily]
\r
36 typedef vector_type;
\r
39 \begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily]
\r
40 void mult(vector_type);
\r
44 \node (Solver) [abstract, rectangle split, rectangle split parts=3, below=of Vector]
\r
48 \begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily]
\r
49 typedef vector_type;
\r
50 typedef matrix_type;
\r
51 typedef monitor_type;
\r
52 typedef preconditioner_type;
\r
55 \begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily]
\r
56 EqSolver(matrix_type
\r
58 void solve(vector_type,vector_type);
\r
59 void set_preconditioner(preconditioner_type);
\r
63 \node (Preconditioner) [abstract, rectangle split, rectangle split parts=3, below=of Matrix]
\r
65 \textbf{Preconditioner}
\r
67 \begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily]
\r
68 typedef vector_type;
\r
69 typedef matrix_type;
\r
70 typedef monitor_type;
\r
73 \begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily]
\r
74 Preconditioner(matrix_type
\r
76 void operator()(vector_type,vector_type)
\r
80 \node (TimeIntegrator) [abstract, rectangle split, rectangle split parts=2, below=of Preconditioner]
\r
82 \textbf{TimeIntegrator}
\r
85 \begin{lstlisting}[frame=none,basicstyle=\scriptsize\ttfamily]
\r
86 template <typename rhs_type
\r
87 , typename vector_type
\r
88 , typename value_type>
\r
89 void operator()(rhs_type
\r