Biedermann, Jonas and Syfrig, Marco (2014) Templator. Student Research Project thesis, HSR Hochschule für Technik Rapperswil.
Templator.pdf - Supplemental Material
Download (7MB) | Preview
Abstract
C++ allows the usage of templates to build functions with generic types. This offers the advantage to define a function for many different data types without duplicating code and also supports compile time polymorphism and is thus used often. Template arguments are often automatically deduced from the function call site. Function templates can be hard to work with because the compiler instantiates templates during the compilation process which results in code that the developer cannot see. Programmers using Eclipse CDT do not have easy access to the instantiated templates and thus to information about the deduced template arguments and selected function overloads. Programmers want to know what overload the compiler finally chooses, especially in the case of nested template instantiations. The goal of our term project is to build a plug-in for Eclipse CDT that helps the programmer see the called functions and deduced template arguments. The outcome is a view that helps the programmer to examine function templates, nested function calls and show the deduced template arguments. It offers interactivity to resolve recursively nested functions to an arbitrary nesting level.
Item Type: | Thesis (Student Research Project) |
---|---|
Subjects: | Topics > Software > Optimization Topics > Internet Technologies and Applications > Visualization Area of Application > Development Tools Technologies > Programming Languages > C++ Technologies > Frameworks and Libraries > Eclipse Metatags > IFS (Institute for Software) |
Divisions: | Bachelor of Science FHO in Informatik > Student Research Project |
Depositing User: | OST Deposit User |
Contributors: | Contribution Name Email Thesis advisor Sommerlad, Peter UNSPECIFIED |
Date Deposited: | 26 Mar 2015 12:46 |
Last Modified: | 26 Mar 2015 12:46 |
URI: | https://eprints.ost.ch/id/eprint/410 |