Abstract: Templates are a language feature of C++ and can be used for metaprogramming. The metaprogram is executed by the compiler and outputs source code which is then compiled. Templates are widely used in software libraries but few tools exist for programmers developing template code. In particular, error messages are often cryptic. During template instantiation, a compiler lookup names that depend on a template’s formal parameters. We use graphs to represent the relevant parts of the source code and a graph program for the name lookup and add type checking for expressions involving such names. Our graph program terminates and emits correct error messages. Keywords: Graph programs, Type checking, C++
Abstract. The C++ language provides a two-layer execution model: static execution of meta-programs a...
Templates are used to generate all kinds of text, including computer code. The last decade, the use ...
Template metaprogramming is an emerging new direction in C++ programming for executing algorithms in...
Abstract: Templates are a language feature of C++ and can be used for metapro-gramming. The metaprog...
Abstract. Templates are a powerful but poorly understood feature of the C++ language. Their syntax r...
C++ does not support run-time resolution of template type arguments. To circumvent this restriction,...
Generic programming has emerged as an important technique for the development of highly reusable and...
The C++ Standard Library is a valuable collection of generic algorithms and data structures that imp...
The availability of high-level design entry tooling is crucial for the viability of any reconfigurab...
The template system of C++ is expressive enough to allow the programmer to write programs which are ...
Domain specific languages embedded in C++ (EDSLs) often use the techniques of template metaprogrammi...
This paper describes the Boost C++ template metaprogramming library (MPL), an extensible compile-tim...
Generic programming has emerged as an important technique for the development of highly reusable and...
Template metaprograms have become an essential part of today’s C++ programs: with proper template de...
Abstract. Template metaprogramming (TMP) is an emerging new di-rection in C++ programming for execut...
Abstract. The C++ language provides a two-layer execution model: static execution of meta-programs a...
Templates are used to generate all kinds of text, including computer code. The last decade, the use ...
Template metaprogramming is an emerging new direction in C++ programming for executing algorithms in...
Abstract: Templates are a language feature of C++ and can be used for metapro-gramming. The metaprog...
Abstract. Templates are a powerful but poorly understood feature of the C++ language. Their syntax r...
C++ does not support run-time resolution of template type arguments. To circumvent this restriction,...
Generic programming has emerged as an important technique for the development of highly reusable and...
The C++ Standard Library is a valuable collection of generic algorithms and data structures that imp...
The availability of high-level design entry tooling is crucial for the viability of any reconfigurab...
The template system of C++ is expressive enough to allow the programmer to write programs which are ...
Domain specific languages embedded in C++ (EDSLs) often use the techniques of template metaprogrammi...
This paper describes the Boost C++ template metaprogramming library (MPL), an extensible compile-tim...
Generic programming has emerged as an important technique for the development of highly reusable and...
Template metaprograms have become an essential part of today’s C++ programs: with proper template de...
Abstract. Template metaprogramming (TMP) is an emerging new di-rection in C++ programming for execut...
Abstract. The C++ language provides a two-layer execution model: static execution of meta-programs a...
Templates are used to generate all kinds of text, including computer code. The last decade, the use ...
Template metaprogramming is an emerging new direction in C++ programming for executing algorithms in...