Difference between revisions of "Programming Templates"

From Gridkaschool
(Created page with "Description This workshop will contain the following topics (all topics consist of both, lecture style talk and practical programming): - Reminder on template usage; - ...")
 
 
(26 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Description]]
+
'''Description'''
 
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.


  1. -*- 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'])

  1. Program ("templatePitFalls", [Glob('templatePitFalls.cc')] , CPPPATH=['.'], CCFLAGS = ['-std=c++11', '-ggdb'])



Reminder on template usage


Policies