Approval Detailed Specification Design Investigation.

Slides:



Advertisements
Similar presentations
User-Defined Functions Like short programs Can operate on their own data Can receive data from callers and return data to callers.
Advertisements

Yaser Zhian Dead Mage IGDI, Workshop 10, May 30 th -31 st, 2013.
New Adventures in C++ with Cinder and More oct 2013 | nwcpp.org ale contenti | visual c++ dev mgr And a small pitch for VS 2013.
Chapter 12 Lists and Iterators. List Its an abstract concept not a vector, array, or linked structure. Those are implementations of a List. A list is a.
C++ Language Fundamentals. 2 Contents 1. Introduction to C++ 2. Basic syntax rules 3. Declaring and using variables.
Brown Bag #2 Advanced C++. Topics  Templates  Standard Template Library (STL)  Pointers and Smart Pointers  Exceptions  Lambda Expressions  Tips.
Overview  Miscellaneous Utility Functions  Return Type Deduction  Generic Lambdas  Generalised Lambda Captures  C++14 Literals  constexpr Functions.
Vectors, lists and queues
What's new in Microsoft Visual C Preview
What's new in Microsoft Visual C
Programming Languages and Paradigms The C Programming Language.
Introduction to PHP Dr. Charles Severance
C++ await Deon Brewis std::future additions:
.NET 3.5 – Mysteries. NetFx Evolution NetFx 1.0 C# 1.0, VB 7.0, VS.NET NetFx 1.1 C# 1.1, VB 7.1, VS 2003 NetFx 2.0 C# 2.0, VB 8.0, VS 2005 NetFx 3.0 C#
Monday, 11/11/02, Slide #1 CS 106 Intro to Comp. Sci. 1 Monday, 11/11/02  Questions? HW 04 due today at 5.  Today – Lists and an introduction to searching.
Visual Studio 2013 Conformance Performance Productivity Services Mobile Devices What’s Next.
Introduction to the C# Programming Language for the VB Programmer.
CS 330 Programming Languages 10 / 16 / 2008 Instructor: Michael Eckmann.
Your First C++ Program Aug 27, /27/08 CS 150 Introduction to Computer Science I C++  Based on the C programming language  One of today’s most.
© Alan Burns and Andy Wellings, 2001 Programming in the Small n Aim: to remind you how to read/write programs in Ada 95, Java and ANSI C n Practicals will.
CEG 221 Lesson 1: Review I Mr. David Lippa. Overview: Review of Required Concepts Basic data types –Normal basic types, size_t, time_t Basic programming.
© Alan Burns and Andy Wellings, 2001 Programming in the Small Aim: to remind you how to read/write programs in Ada 95, Java and ANSI C.
CS 11 C++ track: lecture 8 Today: Inheritance. Inheritance (1) In C++ we create classes and instantiate objects An object of class Fruit "is-a" Fruit.
PARALLEL PROGRAMMING ABSTRACTIONS 6/16/2010 Parallel Programming Abstractions 1.
C++ Functions. 2 Agenda What is a function? What is a function? Types of C++ functions: Types of C++ functions: Standard functions Standard functions.
Managed Code Generics Language Integrated Query Dynamic + Language Parity C# VB 11.0 Windows Runtime + Asynchrony C# VB 7.0 C# VB.
C++ C++ Overview (I) What is Object Orientated Programming? Approach: Break problem into subgroups of related parts that take into account code and data;
3 string read_string_from_file(string file); string s = read_string_from_file("myfile.txt"); cout
C#C# Classes & Methods CS3260 Dennis A. Fairclough Version 1.1 Classes & Methods CS3260 Dennis A. Fairclough Version 1.1.
The Structure of a C++ Program. Outline 1. Separate Compilation 2. The # Preprocessor 3. Declarations and Definitions 4. Organizing Decls & Defs into.
Programming Language C++ Xulong Peng CSC415 Programming Languages.
Comp 245 Data Structures Linked Lists. An Array Based List Usually is statically allocated; may not use memory efficiently Direct access to data; faster.
/* Documentations */ Pre process / Linking statements Global declarations; main( ) { Local Declarations; Program statements / Executable statements; }
Rossella Lau Lecture 1, DCO10105, Semester B, DCO10105 Object-Oriented Programming and Design  Lecture 1: Introduction What this course is about:
CSC 580 – Theory of Programming Languages, Spring, 2009 Week 9: Functional Languages ML and Haskell, Dr. Dale E. Parson.
C ++ Programming Languages Omid Jafarinezhad Lecturer: Omid Jafarinezhad Fall 2013 Lecture 2 Department of Computer Engineering 1.
Programming Abstractions Cynthia Lee CS106X. Today’s Topics ADTs  Map › Example: counting words in text  Containers within containers › Example: reference.
Calibration API in JANA David Lawrence, Jlab July 17, 2007.
Case study Students. Array of objects Arrays can hold objects (ref to objects!) Each cell in an array of objects is null by default Sample: from student.
Topic 1 Object Oriented Programming. 1-2 Objectives To review the concepts and terminology of object-oriented programming To discuss some features of.
CS536 Semantic Analysis Introduction with Emphasis on Name Analysis 1.
Searching CS 244 Brent M. Dingle, Ph.D. Game Design and Development Program Department of Mathematics, Statistics, and Computer Science University of Wisconsin.
CS212: Object Oriented Analysis and Design Lecture 24: Introduction to STL.
Overview of C++ Templates
C++ Programming: From Problem Analysis to Program Design, Second Edition Chapter 14: Overloading and Templates Overloading will not be covered.
Practice CS Project Management Amy McCarty Education Services.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Managers and “mentors” identified on projects page. All member accounts created and projects populated.
Async Made Simple with C++ PPL
General Computer Science for Engineers CISC 106 Lecture 12 James Atlas Computer and Information Sciences 08/03/2009.
Introduction The STL is a complex piece of software engineering that uses some of C++'s most sophisticated features STL provides an incredible amount.
Herb Sutter Partner Program Manager C++: Conformance and Cross-platform Mobile Development.
1 CSC 1111 Introduction to Computing using C++ C++ Basics (Part 1)
Writing Better C# Using C# 6 By: Mitchel Sellers.
1 Chapter 1 C++ Templates Readings: Sections 1.6 and 1.7.
In C programming, one of the frequently arising problem is to handle similar types of data. For example: If the user want to store marks of 100 students.
Generic Programming and Library Design Brian Bartman
CSCE Introduction to Program Design and Concepts J. Michael Moore Spring 2015 Set 6: Miscellaneous 1 Based on slides created by Bjarne Stroustrup.
From C to C++. 2 Why C++ is much more fun than C (C++ FAQ)? 1.Classes & methods - OO design 2.Generic programming - Templates allow for code reuse 3.Stricter.
THE FUTURE OF C#: GOOD THINGS COME TO THOSE WHO ‘AWAIT’ Joseph Albahari SESSION CODE: DEV411 (c) 2011 Microsoft. All rights reserved.
C++ Lesson 1.
4/13/ :02 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
C++: соответствие стандартам и кросс-платформенная разработка
volevi Windows Phone 8 SDK Update Puhn Chaturaphit
Lambda Expressions By Val Feldsher.
Advanced C++ Programming
CS 2304 Function Pointers & Lambda Functions
Semantics of PLs via Interpreters: Getting Started
Abstraction: Generic Programming, pt. 2
Recursive Procedures and Scopes
SPL – PS1 Introduction to C++.
Presentation transcript:

Approval Detailed Specification Design Investigation

Milestone In April 2013, for the first time C++14’s feature set is known: C++14 is feature-complete! Now in primary international comment ballot

2014 cadence This ISO C++ revision cycle: faster, more predictable Less monolithic: Delivering concurrent and decoupled library & language extensions

YesYes — SxS Yes (but no breaking changes in Updates) Maybe YesNo YesMaybe YesNo

YesYes — SxS Yes (but no breaking changes in Updates) Maybe YesNo YesMaybe YesNo VS 2013 Preview today VS 2013 RTM later this year CTP following VS 2013 RTM

from Nov 2012

C++14 libs: cbegin/ greater<>/make_unique

class widget { int a = 42; string b = “xyzzy”; vector c = { 1, 2, 3, 4 }; public: widget() { } // 42xyzzy explicit widget(int val) : a{val} { }// valxyzzy widget(int i, int j) : c{i, i, i, i, j, j} { }// 42xyzzyi i i i j j };

C++14 libs: cbegin/ greater<>/make_unique

C99 variable decls C99 _Bool C99 compound literals C++14 libs: cbegin/ greater<>/make_unique C99 designated initializers

C++14 generalized lambda capture C99 variable decls C99 _Bool C++14 auto function return type deduction C99 compound literals C++14 generic lambdas C++14 libs: cbegin/ greater<>/make_unique C99 designated initializers

C++14 generalized lambda capture C99 variable decls C99 _Bool C++14 auto function return type deduction C99 compound literals C++14 generic lambdas C++14 decltype(auto) C++14 libs: cbegin/ greater<>/make_unique C99 designated initializers C++14 libs: std:: user- defined literals

C++14 generalized lambda capture C99 variable decls C99 _Bool C++14 auto function return type deduction C99 compound literals C++14 generic lambdas C++14 decltype(auto) C++14 libs: cbegin/ greater<>/make_unique C99 designated initializers C++14 libs: std:: user- defined literals

C++14 generalized lambda capture C++98 two-phase lookup C99 variable decls C99 _Bool C++14 auto function return type deduction C99 compound literals C++14 generic lambdas C++14 decltype(auto) C++14 libs: cbegin/ greater<>/make_unique C99 designated initializers C++14 libs: std:: user- defined literals

C++14 generalized lambda capture C++98 two-phase lookup C99 variable decls C99 _Bool C++14 auto function return type deduction C++14 generalized constexpr C99 compound literals C++14 generic lambdas C++14 decltype(auto) C++14 dyn. arrays C++14 var templates C++14 libs: cbegin/ greater<>/make_unique C99 designated initializers C++14 libs: std:: user- defined literals

C++14 generalized lambda capture C++98 two-phase lookup C99 variable decls C99 _Bool C++14 auto function return type deduction C++14 generalized constexpr C99 compound literals C++14 generic lambdas C++14 decltype(auto) C++14 dyn. arrays C++14 var templates C++14 libs: cbegin/ greater<>/make_unique C99 designated initializers C++14 libs: std:: user- defined literals C++TS concepts lite

from Nov 2012

C++14 generalized lambda capture C++98 two-phase lookup C99 variable decls C99 _Bool C++14 auto function return type deduction C++14 generalized constexpr C99 compound literals C++14 generic lambdas C++14 decltype(auto) C++14 dyn. arrays C++14 var templates C++14 libs: cbegin/ greater<>/make_unique C99 designated initializers C++TS? async/await C++14 libs: std:: user- defined literals C++TS concepts lite

.get.then size_t file_sizes( string file1, string file2 ) { task f1 = open(file1), f2 = open(file2); return f1.get().size() + f2.get().size(); } task file_sizes( string file1, string file2 ) { task f1 = open(file1), f2 = open(file2); return when_all(f1,f2).then([=](tuple fs) { return get (fs).size() + get (fs).size(); }); }.then + await task file_sizes( string file1, string file2 ) __async { task f1 = open(file1), f2 = open(file2); return (__await f1).size() + (__await f2).size(); }

.get.then string read( string file, string suffix ) { istream fi = open(file).get(); string ret, chunk; while( (chunk = fi.read().get()).size() ) ret += chunk + suffix; return ret; } ?

.get.then string read( string file, string suffix ) { istream fi = open(file).get(); string ret, chunk; while( (chunk = fi.read().get()).size() ) ret += chunk + suffix; return ret; } task read( string file, string suffix ) { return open(file).then([=](istream fi) { auto ret = make_shared (); auto next = make_shared ()>>( [=]{ fi.read().then([=](string chunk) { if( chunk.size() ) { *ret += chunk + suffix; return (*next)(); } return *ret; }); return (*next)(); }); }.then + await task read( string file, string suffix ) __async { istream fi = __await open(file); string ret, chunk; while( (chunk = __await fi.read()).size() ) ret += chunk + suffix; return ret; }

.get.then { DataReader rdr(stream); auto bytesRead = rdr.LoadAsync((int)stream->Size).get(); txtBox->Text = rdr.ReadString(bytesRead); } // Re-open file here. auto rdr = ref new DataReader(stream); task (rdr->LoadAsync((int)stream->Size)).then([=](uint32 bytesRead) { txtBox->Text = rdr->ReadString(bytesRead); delete rdr; // Re-open file here });.then + await { DataReader rdr(stream); auto bytesRead = __await rdr.LoadAsync((int)stream->Size); txtBox->Text = rdr.ReadString(bytesRead); } // Re-open file here.

C++14 generalized lambda capture C++98 two-phase lookup C99 variable decls C99 _Bool C++14 auto function return type deduction C++14 generalized constexpr C99 compound literals C++14 generic lambdas C++14 decltype(auto) C++14 dyn. arrays C++14 var templates C++14 libs: cbegin/ greater<>/make_unique C99 designated initializers C++TS? async/await C++14 libs: std:: user- defined literals C++TS concepts lite

Registration open today Registration open today