Structural subtyping and the notion of power type
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
Modern C++ design: generic programming and design patterns applied
Modern C++ design: generic programming and design patterns applied
Composing crosscutting concerns using composition filters
Communications of the ACM
Foundations of object-oriented languages: types and semantics
Foundations of object-oriented languages: types and semantics
The C++ Programming Language
AspectC++: an aspect-oriented extension to the C++ programming language
CRPIT '02 Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications
Lingua Franca: an IDL for structural subtyping distributed object systems
COOTS'95 Proceedings of the USENIX Conference on Object-Oriented Technologies on USENIX Conference on Object-Oriented Technologies (COOTS)
Coordination language for distributed clean
Acta Cybernetica
Debugging C++ template metaprograms
Proceedings of the 5th international conference on Generative programming and component engineering
EClean - An Embedded Functional Language
Electronic Notes in Theoretical Computer Science (ENTCS)
Functional programming with C++ template metaprograms
CEFP'09 Proceedings of the Third summer school conference on Central European functional programming school
MASPEGHI 2004 mechanisms for specialization, generalization and inheritance
ECOOP'04 Proceedings of the 2004 international conference on Object-Oriented Technology
A feature composition problem and a solution based on c++ template metaprogramming
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
Hi-index | 0.00 |
Families of independent classes, where each class represents a separate, orthogonal concern are highly attractive for implementing collaboration-based design. However, required subtype relationship between such families cannot be expressed in many programming languages. This paper presents a framework to handle collaborating groups of classes using template metaprogramming based on standard C++ features in the style of Loki::Typelist. Our solution provides tailor-made implicit conversion rules between appropriate groups, inclusion polymorphism and a tool for dynamic binding.