Difference between revisions of "Programming Templates"
(24 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
This workshop will contain the following topics (all topics consist of both, lecture style talk and practical programming): |
This workshop will contain the following topics (all topics consist of both, lecture style talk and practical programming): |
||
− | * Reminder on template usage |
+ | * Reminder on template usage |
* Policies |
* Policies |
||
+ | |||
− | * Traits |
||
+ | [[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]] |
Latest revision as of 12:58, 8 September 2015
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