Programming Templates: Difference between revisions

From Gridkaschool
Jump to navigationJump to search
(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; - ...")
 
No edit summary
 
(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