In this thesis we study whether and how C++ libraries can be used from Eiffel. We use C++ because it is the most widely deployed object oriented programming language today.
An interaction between the two languages is indeed possible: Each component of C++ is mapped on a component in Eiffel. All Eiffel components together form the wrapper of the library.
Apart from the most basic building blocks of C++ (classes, functions, enumerations, etc.), also the more advanced features of this language, particularly inheritance and templates, are translated to Eiffel. We develop a method which allows cross-language polymorphism, to extend C++ class hierarchies from Eiffel.
A mechanism for adapting (solving naming conflicts etc.) the library's interface is introduced. It is also used to integrate Eiffel specific features (mainly Design by Contract) into the wrapper.
The application Eukalyptus (http://piskernig.at/eukalyptus/), which creates a wrapper automatically, gets implemented and tested with a typical C++ library.
@MastersThesis{Piskernig06,
author = {Martin Piskernig},
title = {Verwendung von {C++-B}ibliotheken in {E}iffel},
school = {Universität Wien},
year = 2006,
address = {Vienna, Austria},
url = {http://piskernig.at/diplom.pdf}
}