CLOS in context: the shape of the design space
Object-oriented programming
The design and evolution of C++
The design and evolution of C++
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Non-intrusive object introspection in C++: architecture and application
Proceedings of the 20th international conference on Software engineering
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
Oracle Programming: A Primer, Version 8.0
Oracle Programming: A Primer, Version 8.0
Self Reflection for Adaptive Programming
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
A type system for reflective program generators
Science of Computer Programming
CLEF'04 Proceedings of the 5th conference on Cross-Language Evaluation Forum: multilingual Information Access for Text, Speech and Images
A type system for reflective program generators
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
Exploiting points-to maps for de-/serialization code generation
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Hi-index | 0.00 |
The C++ language has only a limited runtime type information system, which doesn't provide full reflection capabilities. We present a general mechanism to support reflection, exploiting template metaprogramming techniques. Two solutions are presented: a static one where metaclass information is only available at compile time to produce class specific code; and a dynamic one where metaclass objects exist at runtime. As a case study of technique we show how to build an object interface to relational database tables. By just annotating a class definition with meta information, such as storage attributes or index properties of fields, a programmer can define objects that can be stored, fetched or searched in a database table. This approach has been used in building a high-performance, full text search engine.