[C++11]
Interesowałem się ostatnio szablonami klas i zastanawiałem się czy można zabraniać używania konkretnych typów z szablonem klasy (lub pozwolić tylko konkretnym typom na współpracę z danym szablonem). Na początek interesuje mnie wykorzystywanie typów wbudowanych - przykładowo chciałbym pozwolić, żeby szablon mógł "współpracować" ze wszystkimi (oczywiście pasującymi składniowo) typami, a z typem unsigned int czy char już nie. Albo z drugiej strony: chciałbym, żeby szablon klasy akceptował tylko jakieś wybrane przeze mnie typy, na przykład wyłącznie double i float.
Czy ktoś mógłby w miarę przystępny sposób wyjaśnić to zagadnienie i podać jakiś mały przykład? W Internecie widziałem coś o statycznych asercjach, ale szczerze mówiąc, niewiele z tego zrozumiałem.