1 2\input{header} 3\begin{tikzpicture}[scale=1, transform shape] 4 5\newnamedcomponent{0}{2.5}{registerConstructor1}{registerConstructor} 6\newnamedcomponent{0}{0}{registerConstructor2}{registerConstructor} 7\umlprovidedinterface[interface=GreeterImpl, distance=3.3, padding=0.9cm]{registerConstructor1} 8\umlrequiredinterface[interface=Writer, distance=3, padding=0.9cm]{registerConstructor1} 9\umlprovidedinterface[interface=std::function<std::unique\_ptr<GreeterImpl>()>, distance=6, padding=0.9cm]{registerConstructor2} 10\umlrequiredinterface[interface=Writer, distance=3, padding=0.9cm]{registerConstructor2} 11 12\end{tikzpicture} 13\input{footer} 14