Obraceč datového toku má 2 třídy. ...
#include <mirror.h>
Veřejné metody | |
Mirror () | |
Konstruktor. | |
void | operator+= (BaseLayer &bl) |
TwoTop je vlastní obraceč, dědí vlastnosti BaseLayer, pouze metoda Up je přetížena - to je to vlastní převrácení. Hlavní třída Mirror, jejíž instance je pak v kódu použita obsahuje 2 rovnocenné instance třídy TwoTop, které musí být ve stacku vždy navrchu. První část stacku volá Up jedné instance, druhá Up té druhé. Proto tam musí být dvě. Podobně by šel udělat něco jako Fork, odbočení datového toku.
A zase - všechny metody jsou tak jednoduché, že jsou celé v hlavičce, tedy inline.
|
inline |
Zřetězení voláme 2x. Poprvé pro jednu, podruhé pro druhou instanci TwoTop. Protože je tato třída navrchu (vlevo), operátor nic nevrací. Protože L a R jsou rovnoprávné, je jedno která část stacku se postaví dřív.
bl | Left |