Results 1 -
4 of
4
Towards Formal Support for Generic Programming
, 2003
"... der Eberhard-Karls-Universität Tübingen für das Fach Informatik ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
der Eberhard-Karls-Universität Tübingen für das Fach Informatik
The boost C++ metaprogramming library
, 2002
"... This paper describes the Boost C++ template metaprogramming library (MPL), an extensible compile-time framework of algorithms, sequences and metafunction classes. The library brings together important abstractions from the generic and functional programming worlds to build a powerful and easy-to-use ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
This paper describes the Boost C++ template metaprogramming library (MPL), an extensible compile-time framework of algorithms, sequences and metafunction classes. The library brings together important abstractions from the generic and functional programming worlds to build a powerful and easy-to-use toolset which makes template metaprogramming practical enough for the real-world environments. The MPL is heavily influenced by its run-time equivalent — the Standard Template Library (STL), a part of the C++ standard library [STL94], [ISO98]. Like the STL, it defines an open conceptual and implementation framework which can serve as a foundation for future contributions in the domain. The library's fundamental concepts and idioms enable the user to focus on solutions without navigating the universe of possible ad-hoc approaches to a given metaprogramming problem, even if no actual MPL code is used. The library also provides a compile-time lambda expression facility enabling arbitrary currying and composition of class templates, a feature whose runtime counterpart is often cited as missing from the STL. This paper explains the motivation, usage, design, and implementation of the MPL with examples of its real-life applications, and offers some lessons learned about C++ template metaprogramming.
The computational power of compiling C++
- BULLETIN OF THE EUROPEAN ASSOCIATION FOR THEORETICAL COMPUTER SCIENCE
, 2003
"... Using a C++ compiler, any partial recursive function can be computed at compile time. We show this by using the C++ template mechanism to define functions via primitive recursion, composition, and µ-recursion. ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Using a C++ compiler, any partial recursive function can be computed at compile time. We show this by using the C++ template mechanism to define functions via primitive recursion, composition, and µ-recursion.
Compile-time Computation of Polytime Functions
"... Abstract: We investigate the computational power of C++ compilers. In particular, it is known that any partial recursive function can be computed at compile time, using the template mechanism to define primitive recursion, composition, and minimalization. We show that polynomial time computable func ..."
Abstract
- Add to MetaCart
Abstract: We investigate the computational power of C++ compilers. In particular, it is known that any partial recursive function can be computed at compile time, using the template mechanism to define primitive recursion, composition, and minimalization. We show that polynomial time computable functions can be computed at compile-time using the same mechanism, together with template specialization. Key Words: Static computation, C++ templates, polytime computable functions. Category: D.3, F.1.3

