|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
| ASCII Text | x | ||
| Danil Shopyrin, "Multimethods in C++ Using Recursive Deferred Dispatching," IEEE Software, vol. 23, no. 3, pp. 62-73, May/June, 2006. | |||
| BibTex | x | ||
| @article{ 10.1109/MS.2006.77, author = {Danil Shopyrin}, title = {Multimethods in C++ Using Recursive Deferred Dispatching}, journal ={IEEE Software}, volume = {23}, number = {3}, issn = {0740-7459}, year = {2006}, pages = {62-73}, doi = {http://doi.ieeecomputersociety.org/10.1109/MS.2006.77}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - MGZN JO - IEEE Software TI - Multimethods in C++ Using Recursive Deferred Dispatching IS - 3 SN - 0740-7459 SP62 EP73 EPD - 62-73 A1 - Danil Shopyrin, PY - 2006 KW - multimethods KW - multiple dispatch KW - polymorphism KW - template metaprogramming KW - C++ KW - reusable libraries VL - 23 JA - IEEE Software ER - | |||
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2006.77
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.
Index Terms:
multimethods, multiple dispatch, polymorphism, template metaprogramming, C++, reusable libraries
Citation:
Danil Shopyrin, "Multimethods in C++ Using Recursive Deferred Dispatching," IEEE Software, vol. 23, no. 3, pp. 62-73, May-June 2006, doi:10.1109/MS.2006.77
Usage of this product signifies your acceptance of the Terms of Use.

