\input{header} \begin{tikzpicture}[scale=1, transform shape] \newnamedcomponent{0}{2.5}{GreeterImpl1}{GreeterImpl} \newnamedcomponent{0}{0}{GreeterImpl2}{GreeterImpl} \umlprovidedinterface[interface=GreeterImpl, distance=2.5, padding=0.9cm]{GreeterImpl1} \umlrequiredinterface[interface=Writer, distance=2.5, padding=0.9cm]{GreeterImpl1} \umlprovidedinterface[interface=std::function<std::unique\_ptr<GreeterImpl>()>, distance=5.5, padding=0.9cm]{GreeterImpl2} \umlrequiredinterface[interface=Writer, distance=2.5, padding=0.9cm]{GreeterImpl2} \end{tikzpicture} \input{footer}