
Kevin Sopp wrote:
I forgot to mention I don't want to say that we will have base classes with virtual stuff, because that is expensive, however, what I wanted to point is that there must be an interface "template" so when one wants to add more block_cipher, ciphers and etc, one should know which functions should be available as public. The base class code is merely for documentation purposes only!
The constraints the type must satisfy to work as template parameter for some template is called the model. All models should be described in the documentation.
I'm not sure from what domain your terminology originates, but in Generic Programming, "model" refers to a concrete type satisfying some constraints. The constraints are usually referred to as a "concept." http://www.boost.org/community/generic_programming.html#concept http://www.generic-programming.org/about/glossary.php Cheers, -- Dave Abrahams BoostPro Computing http://www.boostpro.com