Storing Properties in Grouped Tagged Tuples

  • Roland Weiss
  • Volker Simonis
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2890)


A technique is presented that allows one to store groups of properties in C++, and single properties out of these groups can later be accessed by their name. Our approach refines previous work in this area and is an example for the application of template metaprogramming [1]. Typical usage examples of the introduced class templates are internal representations of serialized data, well suited for semi-automatic as well as manual generation of the corresponding class types.


Object Size Property Group Record Type Visual Studio Syntax Tree 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alexandrescu, A.: Modern C++ Design. Addison-Wesley, Reading (2001)Google Scholar
  2. 2.
    Becker, T.: STL & Generic Programming -— Typelists. C/C++ Users Journal (December 2002)Google Scholar
  3. 3.
    Hamilton, G. (ed.): JavaBeans TM, V1.01. Sun Microsystems (1997)Google Scholar
  4. 4.
    Haney, S., Crotinger, J.: How Templates Enable High-Performance Scientific Computing in C++. Journal of Computing in Science and Engineering 1(4), IEEE (July/August 1999)Google Scholar
  5. 5.
    Järvi, J.: Tuple types and multiple return values. C/C++ Users Journal (August 2001)Google Scholar
  6. 6.
    Järvi, J.: Tuples and multiple return values in C++. Turku Centre for Computer Science, Technical Report 249 (March 1999)Google Scholar
  7. 7.
    Järvi, J.: ML-style Tuple Assignment in Standard C++ – Extending the Multiple Return Value Formalism. Turku Centre for Computer Science, Technical Report 267 (April 1999)Google Scholar
  8. 8.
    JTC1/SC22 – Programming languages, their environment and system software interfaces: Programming Languages – C++. International Organization for Standardization, ISO/IEC 14882 (1998)Google Scholar
  9. 9.
    Jones, S.P., Hughes, J. (eds.): Haskell 1998: A Non-strict, Purely Functional Language. Language Report (1998), Available at
  10. 10.
    Milner, R., Tofte, M., Harper, R., MacQueen, D.: The Definition of Standard ML - Revised. MIT Press, Cambridge (May 1997)Google Scholar
  11. 11.
    Raggett, D., Hors, A.L., Jacobs, I. (eds.): HTML 4.01 Specification. W3C Recommendation (December 1999), Available at
  12. 12.
    Robertson, A.D.: The Abstraction Penalty for Small Objects in C++. In: Workshop on Parallel Object-Oriented Methods and Applications (POOMA 1996), Santa Fe, New Mexico, USA, (February/March 1996)Google Scholar
  13. 13.
    Siek, J.G., Lee, L.-Q., Lumsdaine, A.: The Boost Graph Library. User Guide and Reference Manual. Addison-Wesley Publishing Company, Reading (2001)Google Scholar
  14. 14.
    Simonis, V., Weiss, R.: Heterogeneous, Nested STL Containers in C++. In: Bjorner, D., Broy, M., Zamulin, A.V. (eds.) PSI 1999. LNCS, vol. 1755, pp. 263–267. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  15. 15.
    Weiss, R.: Compiling and Distributing Generic Libraries with Heterogeneous Data and Code Representation. PhD thesis, University of Tübingen (2003)Google Scholar
  16. 16.
    Winch, E.: Heterogenous Lists of Named Objects. In: Second Workshop on C++ Template Programming, Tampa Bay, Florida, USA (October 2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Roland Weiss
    • 1
  • Volker Simonis
    • 1
  1. 1.Wilhelm-Schickard-Institut für InformatikUniversität TübingenTübingenGermany

Personalised recommendations