Generic design patterns in C++

From LRDE

Revision as of 17:56, 4 January 2018 by Bot (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Abstract

Generic programming is a paradigm whose wide adoption by the C++ community is quite recent. In this approach most classes and procedures are parameterized, leading to the construction of general and efficient software components. In this paper, we show how some design patterns from Gamma et al. can be adapted to this paradigm. Although these patterns rely highly on dynamic binding. We show that, by making intensive use of parametric polymorphism in the context of generic programming, the method calls in these patterns can be resolved at compile-time. The speed-up achieved using these patterns is significant.


Bibtex (lrde.bib)

@InProceedings{	  duret.01.coots,
  author	= {Alexandre Duret-Lutz and Thierry G\'eraud and Akim
		  Demaille},
  title		= {Generic design patterns in {C++}},
  booktitle	= {Proceedings of the 6th USENIX Conference on
		  Object-Oriented Technologies and Systems (COOTS)},
  year		= 2001,
  address	= {San Antonio, TX, USA},
  pages		= {189--202},
  month		= {January-February},
  publisher	= {USENIX Association},
  abstract	= {Generic programming is a paradigm whose wide adoption by
		  the C++ community is quite recent. In this approach most
		  classes and procedures are parameterized, leading to the
		  construction of general and efficient software components.
		  In this paper, we show how some design patterns from Gamma
		  et al. can be adapted to this paradigm. Although these
		  patterns rely highly on dynamic binding. We show that, by
		  making intensive use of parametric polymorphism in the
		  context of generic programming, the method calls in these
		  patterns can be resolved at compile-time. The speed-up
		  achieved using these patterns is significant.}
}