{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,5]],"date-time":"2024-09-05T00:09:44Z","timestamp":1725494984665},"publisher-location":"Berlin, Heidelberg","reference-count":33,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540425786"},{"type":"electronic","value":"9783540448150"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2001]]},"DOI":"10.1007\/3-540-44815-2_12","type":"book-chapter","created":{"date-parts":[[2007,11,15]],"date-time":"2007-11-15T10:17:24Z","timestamp":1195121844000},"page":"164-178","source":"Crossref","is-referenced-by-count":6,"title":["Mixin-Based Programming in C++"],"prefix":"10.1007","author":[{"given":"Yannis","family":"Smaragdakis","sequence":"first","affiliation":[]},{"given":"Don","family":"Batory","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2001,9,13]]},"reference":[{"key":"12_CR1","unstructured":"ANSI \/ ISO Standard: Programming Languages-C++, ISO\/IEC 14882, 1998."},{"key":"12_CR2","unstructured":"J. Barton and L. R. Nackman, Scientific and Engineering C++: An Introduction with Advanced Techniques and Applications, Addison-Wesley, 1994."},{"key":"12_CR3","doi-asserted-by":"crossref","unstructured":"D. Batory, V. Singhal, M. Sirkin, and J. Thomas, \u201cScalable Software Libraries\u201d, ACM SIGSOFT1993.","DOI":"10.1145\/256428.167078"},{"key":"12_CR4","doi-asserted-by":"crossref","unstructured":"D. Batory, R. Cardone, and Y. Smaragdakis, \u201cObject-Oriented Frameworks and Product-Lines\u201d, 1st Software Product-Line Conference, Denver, Colorado, August 1999.","DOI":"10.1007\/978-1-4615-4339-8_13"},{"key":"12_CR5","doi-asserted-by":"crossref","unstructured":"K. Beck and W. Cunningham, \u201cA Laboratory for Teaching Object-Oriented Thinking\u201d, OOPSLA1989, 1\u20136.","DOI":"10.1145\/74878.74879"},{"key":"12_CR6","doi-asserted-by":"crossref","unstructured":"G. Bracha and W. Cook, \u201cMixin-Based Inheritance\u201d, ECOOP\/OOPSLA 90, 303\u2013311.","DOI":"10.1145\/97946.97982"},{"key":"12_CR7","unstructured":"G. Bracha, M. Odersky, D. Stoutamire and P. Wadler, \u201cMaking the future safe for the past: Adding Genericity to the Java Programming Language\u201d, OOPSLA 98."},{"key":"12_CR8","doi-asserted-by":"crossref","unstructured":"P. Canning, W. Cook, W. Hill, W. Olthoff, and J. C. Mitchell, \u201cF-bounded Polymorphism for Object-Oriented Programming\u201d, in Proc. Conf. on Functional Programming Languages and Computer Architecture, 1989, 273\u2013280.","DOI":"10.1145\/99370.99392"},{"issue":"2","key":"12_CR9","first-page":"24","volume":"7","author":"J. Coplien","year":"1995","unstructured":"J. Coplien, \u201cCuriously Recurring Template Patterns\u201d, C++ Report, 7(2):24\u201327, Feb. 1995.","journal-title":"C++ Report"},{"key":"12_CR10","unstructured":"K. Czarnecki and U. Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison-Wesley, 2000."},{"key":"12_CR11","first-page":"18","volume":"ECOOP","author":"K. Czarnecki","year":"1999","unstructured":"K. Czarnecki and U. Eisenecker, \u201cSynthesizing Objects\u201d, ECOOP1999, 18\u201342.","journal-title":"Synthesizing Objects"},{"key":"12_CR12","series-title":"Lect Notes Comput Sci","doi-asserted-by":"crossref","first-page":"351","DOI":"10.1007\/3-540-62599-2_51","volume-title":"Proc. Joint Modular Languages Conference (JMLC\u201997)","author":"U. Eisenecker","year":"1997","unstructured":"U. Eisenecker, \u201cGenerative Programming in C++\u201d, in Proc. Joint Modular Languages Conference (JMLC\u201997), LNCS1204, Springer, 1997, 351\u2013365."},{"key":"12_CR13","unstructured":"M. A. Ellis and B. Stroustrup, The Annotated C++ Reference Manual, Addison-Wesley, 1990."},{"key":"12_CR14","unstructured":"E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994."},{"key":"12_CR15","doi-asserted-by":"crossref","unstructured":"R. Helm, I. Holland, and D. Gangopadhyay, \u201cContracts: Specifying Behavioral Compositions in Object-Oriented Systems\u201d. OOPSLA1990, 169\u2013180.","DOI":"10.1145\/97946.97967"},{"key":"12_CR16","doi-asserted-by":"crossref","unstructured":"I. Holland, \u201cSpecifying Reusable Components Using Contracts\u201d, ECOOP1992, 287\u2013308.","DOI":"10.1007\/BFb0053043"},{"issue":"2","key":"12_CR17","first-page":"22","volume":"1","author":"R. Johnson","year":"1988","unstructured":"R. Johnson and B. Foote, \u201cDesigning Reusable Classes\u201d, J. of Object-Oriented Programming, 1(2): June\/July 1988, 22\u201335.","journal-title":"J. of Object-Oriented Programming"},{"key":"12_CR18","doi-asserted-by":"crossref","unstructured":"G. Kiczales, J. des Rivieres, and D. G. Bobrow, The Art of the Metaobject Protocol. MIT Press, 1991.","DOI":"10.7551\/mitpress\/1405.001.0001"},{"key":"12_CR19","unstructured":"O. L. Madsen, B. M\u00f8ller-Pedersen, and K. Nygaard, Object-Oriented Programming in the BETA Programming Language. Addison-Wesley, 1993."},{"key":"12_CR20","doi-asserted-by":"crossref","unstructured":"D. A. Moon, \u201cObject-Oriented Programming with Flavors\u201d, OOPSLA1986.","DOI":"10.1145\/28697.28698"},{"issue":"6","key":"12_CR21","first-page":"27","volume":"5","author":"T. Reenskaug","year":"1992","unstructured":"T. Reenskaug, E. Anderson, A. Berre, A. Hurlen, A. Landmark, O. Lehne, E. Nordhagen, E. Ness-Ulseth, G. Oftedal, A. Skaar, and P. Stenslet, \u201cOORASS: Seamless Support for the Creation and Maintenance of Object-Oriented Systems\u201d, J. of Object-Oriented Programming, 5(6): October 1992, 27\u201341.","journal-title":"J. of Object-Oriented Programming"},{"key":"12_CR22","unstructured":"Silicon Graphics Computer Systems Inc., STL Programmer\u2019s Guide. See: http:\/\/www.sgi.com\/Technology\/STL\/ ."},{"key":"12_CR23","unstructured":"V. Singhal, A Programming Language for Writing Domain-Specific Software System Generators, Ph. D. Dissertation, Dep. of Computer Sciences, University of Texas at Austin, August 1996."},{"key":"12_CR24","doi-asserted-by":"crossref","unstructured":"Y. Smaragdakis and D. Batory, \u201cImplementing Reusable Object-Oriented Components\u201d. In the 5th Int. Conf. on Software Reuse (ICSR 98).","DOI":"10.1109\/ICSR.1998.685728"},{"key":"12_CR25","doi-asserted-by":"crossref","unstructured":"Y. Smaragdakis and D. Batory, \u201cImplementing Layered Designs with Mixin Layers\u201d. In ECOOP 98.","DOI":"10.1007\/BFb0054107"},{"key":"12_CR26","unstructured":"Y. Smaragdakis, \u201cImplementing Large-Scale Object-Oriented Components\u201d, Ph. D. Dissertation, Department of Computer Sciences, University of Texas at Austin, December 1999."},{"key":"12_CR27","unstructured":"A. Stepanov and M. Lee, \u201cThe Standard Template Library\u201d. Incorporated in ANSI\/ISO Committee C++ Standard."},{"key":"12_CR28","unstructured":"B. Stroustrup, The C++ Programming Language, 3rd Ed., Addison-Wesley, 1997."},{"key":"12_CR29","doi-asserted-by":"crossref","unstructured":"M. VanHilst and D. Notkin, \u201cUsing C++ Templates to Implement Role-Based Designs\u201d. JSSST International Symposium on Object Technologies for Advanced Software, Springer-Verlag, 1996, 22\u201337.","DOI":"10.1007\/3-540-60954-7_41"},{"key":"12_CR30","doi-asserted-by":"crossref","unstructured":"M. VanHilst and D. Notkin, \u201cUsing Role Components to Implement Collaboration-Based Designs\u201d. OOPSLA1996.","DOI":"10.1145\/236337.236375"},{"key":"12_CR31","unstructured":"M. VanHilst and D. Notkin, \u201cDecoupling Change From Design\u201d, SIGSOFT 96."},{"key":"12_CR32","unstructured":"P. Wadler, M. Odersky and Y. Smaragdakis, \u201cDo Parametric Types Beat Virtual Types?\u201d, unpublished manuscript, posted in October 1998 in the Java Genericity mailing list (java-genericity@cs.rice.ed)."},{"key":"12_CR33","unstructured":"K. Weihe, \u201cA Software Engineering Perspective on Algorithmics\u201d, available at http:\/\/www.informatik.uni-konstanz.de\/Preprints\/ ."}],"container-title":["Lecture Notes in Computer Science","Generative and Component-Based Software Engineering"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/3-540-44815-2_12","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,4]],"date-time":"2019-05-04T09:16:25Z","timestamp":1556961385000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/3-540-44815-2_12"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2001]]},"ISBN":["9783540425786","9783540448150"],"references-count":33,"URL":"https:\/\/doi.org\/10.1007\/3-540-44815-2_12","relation":{},"ISSN":["0302-9743"],"issn-type":[{"type":"print","value":"0302-9743"}],"subject":[],"published":{"date-parts":[[2001]]}}}