• Rules for using Generics
  • Declare Template Types
  • The Constructor Must Make All Types Concrete
  • Extending Classes Must Fill In Template Types
  • No Generic Statics
  • How It Works
  • Example Generic Classes
  • Function templates
  • Indicating a function returns elements of an array
  • Indicating a function depends on the return type of a closure
  • Indicating a return type depends on template types of another generic
  • Indicating a method creates an instance of the passed in class name