Programming Templates
Description This workshop will contain the following topics (all topics consist of both, lecture style talk and practical programming):
- Reminder on template usage
- Policies
Media:Programming Templates.pdf
All the single/few file examples will be compiled using the following SConstruct Media:SConstruct
SCons is a python based building tool, started with the command "scons", when you rename it to SConstruct.
- -*- coding: utf-8 -*-
env = DefaultEnvironment()
Program ("functionTemplatesProgram1", [Glob('FunctionTemplates1.cc')] , CPPPATH=['.'], CCFLAGS = ['-std=c++11', '-ggdb']) Program ("functionTemplatesProgram2", [Glob('FunctionTemplates2.cc')] , CPPPATH=['.'], CCFLAGS = ['-std=c++11', '-ggdb'])
Program ("practiceSimpleTemplateProgram", [Glob('practiceSimpleTemplate.cc')] , CPPPATH=['.'], CCFLAGS = ['-std=c++11', '-ggdb']) Program ("specialisationProgram", [Glob('specialisation.cc')] , CPPPATH=['.'], CCFLAGS = ['-std=c++11', '-ggdb'])
Program ("genericProgrammingTricks", [Glob('genericProgrammingTricks.cc')] , CPPPATH=['.'], CCFLAGS = ['-std=c++11', '-ggdb'])
- Program ("templatePitFalls", [Glob('templatePitFalls.cc')] , CPPPATH=['.'], CCFLAGS = ['-std=c++11', '-ggdb'])
Reminder on template usage
- Some files shown in the slides: Media:FunctionTemplates1.cc Media:FunctionTemplates2.cc Media:GetMaxValue.h
- Exercise: Media:practiceSimpleTemplate.cc
- Exercise: Media:specialisation.cc
Policies
- Code Example for Policy vs. Utility: Media:PolicyAndEllipsisExample1.tgz
- Code Example Template PitFall: Media:templatePitFalls.cc
- Exercise: Media:PracticePolicyProject.tgz Media:Solution.tgz - be careful, unpacks into same folder
- Code Example Generic Programming Tricks: Media:GenericProgrammingTricks.cc