Issue No. 03 - May/June (2006 vol. 23)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2006.77
Danil Shopyrin , Transas Technologies and Saint Petersburg State University of Information Technologies, Mechanics, and Optics
A multimethod is a virtual method of several objects. Some object-oriented programming languages support multimethods, but C++ doesn't. The proposed multimethods implementation approach based on recursive deferred dispatching allows multimethod functionality in C++. The approach is completely declarative and ensures compile-time type safety and integrity checking. It also provides a constant multimethod execution time, separate source code compilation, and is portable. The approach is generalized as a reusable freeware library intended to hide its complexity from the client code.
multimethods, multiple dispatch, polymorphism, template metaprogramming, C++, reusable libraries
D. Shopyrin, "Multimethods in C++ Using Recursive Deferred Dispatching," in IEEE Software, vol. 23, no. , pp. 62-73, 2006.