tmpl/expldef2.cpp

The following code example is taken from the book
Object-Oriented Programming in C++
by Nicolai M. Josuttis, Wiley, 2002
© Copyright Nicolai M. Josuttis 2002


#include <string>
#include "expldef.hpp"

// explicitly instantiate function template
template const int& max(const int&, const int&);

// explicitly instantiate necessary functions of Stack<> for int
template CPPBook::Stack<int>::Stack();
template void CPPBook::Stack<int>::push(const int&);
template int CPPBook::Stack<int>::top() const;
template void CPPBook::Stack<int>::pop();

// explicitly instantiate necessary functions of Stack<> for std::string
// - top() is not required
template CPPBook::Stack<std::string>::Stack();
template void CPPBook::Stack<std::string>::push(const std::string&);
template void CPPBook::Stack<std::string>::pop();