{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,4]],"date-time":"2024-09-04T17:48:50Z","timestamp":1725472130256},"publisher-location":"Berlin, Heidelberg","reference-count":29,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540457787"},{"type":"electronic","value":"9783540462354"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2006]]},"DOI":"10.1007\/11877028_21","type":"book-chapter","created":{"date-parts":[[2006,11,2]],"date-time":"2006-11-02T08:27:39Z","timestamp":1162456059000},"page":"459-470","source":"Crossref","is-referenced-by-count":0,"title":["A Feature Composition Problem and a Solution Based on C++ Template Metaprogramming"],"prefix":"10.1007","author":[{"given":"Zolt\u00e1n","family":"Porkol\u00e1b","sequence":"first","affiliation":[]},{"given":"Istv\u00e1n","family":"Z\u00f3lyomi","sequence":"additional","affiliation":[]}],"member":"297","reference":[{"key":"21_CR1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"209","DOI":"10.1007\/978-3-540-39815-8_13","volume-title":"Generative Programming and Component Engineering","author":"I. Z\u00f3lyomi","year":"2003","unstructured":"Z\u00f3lyomi, I., Porkol\u00e1b, Z., Kozsik, T.: An extension to the subtype relationship in C++. In: Pfenning, F., Smaragdakis, Y. (eds.) GPCE 2003. LNCS, vol.\u00a02830, pp. 209\u2013227. Springer, Heidelberg (2003)"},{"key":"21_CR2","volume-title":"Modern C++ Design: Generic Programming and Design Patterns Applied","author":"A. Alexandrescu","year":"2001","unstructured":"Alexandrescu, A.: Modern C++ Design: Generic Programming and Design Patterns Applied. Addison-Wesley, Reading (2001)"},{"key":"21_CR3","volume-title":"C++ Templates: The Complete Guide","author":"D. Vandevoorde","year":"2003","unstructured":"Vandevoorde, D., Josuttis, N.M.: C++ Templates: The Complete Guide. Addison-Wesley, Reading (2003)"},{"issue":"1","key":"21_CR4","doi-asserted-by":"publisher","first-page":"153","DOI":"10.1145\/239912.239922","volume":"19","author":"G. Baumgartner","year":"1997","unstructured":"Baumgartner, G., Russo, V.F.: Implementing Signatures for C++. ACM Transactions on Programming Languages and Systems (TOPLAS)\u00a019(1), 153\u2013187 (1997)","journal-title":"ACM Transactions on Programming Languages and Systems (TOPLAS)"},{"issue":"4","key":"21_CR5","first-page":"36","volume":"7","author":"T. Veldhuizen","year":"1995","unstructured":"Veldhuizen, T.: Using C++ Template Metaprograms. C++ Report\u00a07(4), 36\u201343 (1995)","journal-title":"C++ Report"},{"issue":"5","key":"21_CR6","first-page":"26","volume":"7","author":"T. Veldhuizen","year":"1995","unstructured":"Veldhuizen, T.: Expression Templates. C++ Report\u00a07(5), 26\u201331 (1995)","journal-title":"C++ Report"},{"key":"21_CR7","doi-asserted-by":"crossref","unstructured":"Garcia, R., J\u00e4rvi, J., Lumsdaine, A., Siek, J., Willcock, J.: A Comparative Study of Language Support for Generic Programming. In: Proceedings of the 18th ACM SIGPLAN OOPSLA 2003, pp. 115\u2013134 (2003)","DOI":"10.1145\/949305.949317"},{"key":"21_CR8","unstructured":"Leroy, X., et al.: The Objective Caml system, release 3.0.8, documentation and user\u2019s manual (July 2004), http:\/\/caml.inria.fr\/ocaml\/htmlman\/index.html"},{"key":"21_CR9","doi-asserted-by":"crossref","unstructured":"Jeremy Siek, J.: A Language for Generic Programming. PhD thesis, Indiana University (August 2005)","DOI":"10.1145\/1065010.1065021"},{"key":"21_CR10","doi-asserted-by":"crossref","unstructured":"Don Batory, A.: Tutorial on Feature Oriented Programming and the AHEAD Tool Suite. Technical Report, TR-CCTC\/DI-35, GTTSE, pp. 153\u2013186 (2005)","DOI":"10.1007\/11877028_1"},{"key":"21_CR11","doi-asserted-by":"crossref","unstructured":"Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling Step-Wise Refinement. IEEE Transactions on Software Engineering\u00a030(6), 355\u2013371","DOI":"10.1109\/TSE.2004.23"},{"key":"21_CR12","doi-asserted-by":"crossref","unstructured":"Batory, D., Liu, J., Sarvela, J.N.: Refinements and multi-dimensional separation of concerns. In: Proceedings of the 9th European Software Engineering Conference (2003)","DOI":"10.1145\/940071.940079"},{"key":"21_CR13","unstructured":"Smaragdakis, Y., Batory, D.: Mixin-Based Programming in C++. In: Proceedings of Net.Object Days 2000, pp. 464\u2013478 (2000)"},{"issue":"2","key":"21_CR14","doi-asserted-by":"publisher","first-page":"215","DOI":"10.1145\/505145.505148","volume":"11","author":"Y. Smaragdakis","year":"2002","unstructured":"Smaragdakis, Y., Batory, D.: Mixin Layers: An Object-Oriented Implementation Technique for Refinements and Collaboration-Based Designs. ACM Transactions of Software Engineering and Methodology\u00a011(2), 215\u2013255 (2002)","journal-title":"ACM Transactions of Software Engineering and Methodology"},{"key":"21_CR15","volume-title":"Generative Programming: Methods, Tools and Applications","author":"K. Czarnecki","year":"2000","unstructured":"Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools and Applications. Addison-Wesley, Reading (2000)"},{"key":"21_CR16","volume-title":"The C++ Programming Language Special Edition","author":"B. Stroustrup","year":"2000","unstructured":"Stroustrup, B.: The C++ Programming Language Special Edition. Addison-Wesley, Reading (2000)"},{"key":"21_CR17","volume-title":"The Design and Evolution of C++","author":"B. Stroustrup","year":"1994","unstructured":"Stroustrup, B.: The Design and Evolution of C++. Addison-Wesley, Reading (1994)"},{"key":"21_CR18","volume-title":"Eiffel: The Language","author":"Bertrand Meyer","year":"1991","unstructured":"Bertrand Meyer: Eiffel: The Language. Prentice Hall, Englewood Cliffs (1991)"},{"issue":"10","key":"21_CR19","doi-asserted-by":"publisher","first-page":"51","DOI":"10.1145\/383845.383857","volume":"44","author":"L. Bergmans","year":"2001","unstructured":"Bergmans, L., Aksit, M.: Composing Crosscutting Concerns Using Composition Filters. Communications of the ACM\u00a044(10), 51\u201357 (2001)","journal-title":"Communications of the ACM"},{"key":"21_CR20","doi-asserted-by":"crossref","unstructured":"Cardelli, L.: Structural Subtyping and the Notion of Power Type. In: Conference Record of the Fifteenth Annual ACM Symposium on Principles of Programming Languages, San Diego, California, January 1988, pp. 70\u201379 (1988)","DOI":"10.1145\/73560.73566"},{"key":"21_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"220","DOI":"10.1007\/BFb0053381","volume-title":"ECOOP \u201997 - Object-Oriented Programming","author":"G. Kiczales","year":"1997","unstructured":"Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol.\u00a01241, pp. 220\u2013242. Springer, Heidelberg (1997)"},{"key":"21_CR22","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"327","DOI":"10.1007\/3-540-45337-7_18","volume-title":"ECOOP 2001 - Object-Oriented Programming","author":"G. Kiczales","year":"2001","unstructured":"Kiczales, G., et al.: An overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol.\u00a02072, pp. 327\u2013355. Springer, Heidelberg (2001)"},{"key":"21_CR23","unstructured":"Baumgartner, G., Jansche, M., L\u00e4ufer, K.: Half & Half: Multiply Dispatch and Retroactive Abstraction for Java. Technical Report OSU-CISRC-5\/01-TR08. Ohio State University (2002)"},{"key":"21_CR24","unstructured":"Eisenecker, U.W., Blinn, F., Czarnecki, K.: A Solution to the Constructor-Problem of Mixin-Based Programming in C++. In: The GCSE, Workshop on C++ Template Programming (2000)"},{"key":"21_CR25","unstructured":"Ossher, H., Tarr, P.: Multi-Dimensional Separation of Concerns and The Hyperspace Approach. IBM Research Report 21452, IBM T.J. Watson Research Center (April 1999), http:\/\/www.research.ibm.com\/hyperspace\/Papers\/tr21452.ps"},{"key":"21_CR26","first-page":"734","volume-title":"International Conference on Software Engineering 2001","author":"H. Ossher","year":"2001","unstructured":"Ossher, H., Tarr, P.: Hiper\/J. Multidemensional Separation of Concerns for Java. In: International Conference on Software Engineering 2001, pp. 734\u2013737. ACM, New York (2001)"},{"key":"21_CR27","doi-asserted-by":"crossref","unstructured":"Harrison, W., Ossher, H.: Subject-oriented programming: a critique of pure objects. In: Proceedings of 8th OOPSLA 1993, Washington D.C., USA, pp. 411\u2013428 (1993)","DOI":"10.1145\/165854.165932"},{"key":"21_CR28","unstructured":"Subject Oriented Programming, http:\/\/www.research.ibm.com\/sop"},{"key":"21_CR29","doi-asserted-by":"crossref","unstructured":"Shopiro, J.E.: An Example of Multiple Inheritance in C++: a Model of the Iostream Library. ACM SIGPLAN Notices (December 1989)","DOI":"10.1145\/70931.70935"}],"container-title":["Lecture Notes in Computer Science","Generative and Transformational Techniques in Software Engineering"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/11877028_21.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,11,17]],"date-time":"2020-11-17T14:49:35Z","timestamp":1605624575000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/11877028_21"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2006]]},"ISBN":["9783540457787","9783540462354"],"references-count":29,"URL":"https:\/\/doi.org\/10.1007\/11877028_21","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2006]]}}}