Problem
Compare the implementation of Ada generics versus C++ templates. Does the source of a C++ template function need to be available to be able to compile the client code? Is this necessary for an Ada generic function? If there are two different calls to swap(x,y), will a C++ compiler generate two instances of swap? What about Ada?