Fundamentals of Generic Programming

  • Authors:
  • James C. Dehnert;Alexander A. Stepanov

  • Affiliations:
  • -;-

  • Venue:
  • Selected Papers from the International Seminar on Generic Programming
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

Generic programming depends on the decomposition of programs into components which may be developed separately and combined arbitrarily, subject only to well-defined interfaces. Among the interfaces of interest, indeed the most pervasively and unconsciously used, are the fundamental operators common to all C++ built-in types, as extended to user-defined types; e.g., copy constructors, assignment, and equality. We investigate the relations which must hold among these operators to preserve consistency with their semantics for the built-in types and with the expectations of programmers. We can produce an axiomatization of these operators which yields the required consistency with built-in types, matches the intuitive expectations of programmers, and also reflects our underlying mathematical expectations.