1. Írj olyan metaprogramot, amely egy tetszőleges egész számról fordítási időben eldönti, hogy négyzetszám-e! 2. Írj egy olyan sablonosztályt, amelynek két sablonparamétere van: T es M, ahol az osztálynak 2 T típusú adattagja van, M pedig egy függvényobjektum, amely alapértelmezésben legyen egy olyan osztály, ami két T típusú elmre visszaadja azok négyzetösszegét. Valosítsd meg az operator< műveletet úgy, hogy felhasználod az M függvényobjektumot, azaz az az objektum lesz a kisebb, mely adattagjainak négyzetösszge kisebb. Valósíts meg egy függvényosztály sablont is (T típusparaméterrel). 3. Írj egy olyan sablonosztályt, ami egy sorozatot valósít meg. Definiáld a függvényhívás operátort is úgy, hogy a sorozat elemeinek négyzetösszegét adja vissza, valamint valósítsd meg a streambe író operatort is!