Skip to main content

Generic Components for Static Operations at Object Level

  • Conference paper
Software and Data Technologies (ICSOFT 2007, ENASE 2007)

Abstract

Reflection allows defining generic operations in terms of object constituents. A performance penalty accrues if reflection is effectuated at run time, which is usually the case. If performance matters, some compile-time means of reflection is desired to obviate that penalty. Furthermore, static meta-information may be utilized for class creation, e.g., in optimizations. We provide such means in generic components, employing static meta-programming. Essentially, object structure is encoded in a generic container that models a statically indexed family. Optimizations benefit any object defined in terms of that container.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)

    Google Scholar 

  2. Bracha, G., Cook, W.: Mixin-Based Inheritance. In: SIGPLAN Not., vol. 25(10), pp. 303–311. ACM Press, New York (1990)

    Google Scholar 

  3. Eisenecker, U.W., Blinn, F., Czarnecki, K.: A Solution to the Constructor-Problem of Mixin-Based Programming in C++. In: Meyers, S. (ed.) First Workshop on C++ Template Programming (2000), http://www.oonumerics.org/tmpw00

  4. Järvi, J.: Tuples and Multiple Return Values in C++. Technical Report 249, Turku Centre for Computer Science (1999)

    Google Scholar 

  5. Järvi, J.: Boost Tuple Library Homepage (2001), http://www.boost.org/libs/tuple

  6. Winch, E.: Heterogeneous Lists of Named Objects. In: Josuttis, N., Smaragdakis, Y. (eds.) Second Workshop on C++ Template Programming (2001), http://www.oonumerics.org/tmpw01

  7. Weiss, R., Simonis, V.: Storing Properties in Grouped Tagged Tuples. In: Broy, M., Zamulin, A.V. (eds.) PSI 2003. LNCS, vol. 2890, pp. 22–29. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  8. de Guzman, J., Marsden, D., Schwinger, T.: Fusion Library 2.0 Homepage (2007), http://spirit.sourceforge.net/dl_more/fusion_v2/libs/fusion

  9. Lämmel, R., Peyton Jones, S.: Scrap Your Boilerplate: A Practical Design Pattern for Generic Programming. In: SIGPLAN Not., vol. 38(3), pp. 26–37. ACM Press, New York (2003)

    Google Scholar 

  10. Hinze, R., Löh, A.: Scrap Your Boilerplate Revolutions. In: Uustalu, T. (ed.) MPC 2006. LNCS, vol. 4014, pp. 180–208. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  11. Munkby, G., Priesnitz, A.P., Schupp, S., Zalewski, M.: Scrap++: Scrap Your Boilerplate in C++. In: Hinze, R. (ed.) 2006 SIGPLAN Workshop on Generic Programming, pp. 66–75. ACM Press, New York (2006)

    Chapter  Google Scholar 

  12. Smaragdakis, Y., Batory, D.: Mixin-Based Programming in C++. In: Butler, G., Jarzabek, S. (eds.) GCSE 2000. LNCS, vol. 2177, pp. 163–177. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  13. Attardi, G., Cisternino, A.: Reflection Support by Means of Template Metaprogramming. In: Bosch, J. (ed.) GCSE 2001. LNCS, vol. 2186, pp. 118–127. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  14. Calcagno, C., Taha, W., Huang, L., Leroy, X.: Implementing Multi-Stage Languages using ASTs, Gensym, and Reflection. In: Pfenning, F., Smaragdakis, Y. (eds.) GPCE 2003. LNCS, vol. 2830, pp. 57–76. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Priesnitz, A.P., Schupp, S. (2008). Generic Components for Static Operations at Object Level. In: Filipe, J., Shishkov, B., Helfert, M., Maciaszek, L.A. (eds) Software and Data Technologies. ICSOFT ENASE 2007 2007. Communications in Computer and Information Science, vol 22. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-88655-6_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-88655-6_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-88654-9

  • Online ISBN: 978-3-540-88655-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics