N3831: Language Extensions for Vector level parallelism—Robert Geva and Clark Nelson

A new WG21 paper is available. A copy is linked below, and the paper will also appear in the next normal WG21 mailing. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N3831

Date: 2014-01-14

Language Extensions for Vector level parallelism

by Robert Geva and Clark Nelson

Excerpt:

This document proposes a language extension for vector level parallel programming (vector programming) as an extension to C++. It is based on both Cilk Plus and OpenMP 4.0, which have almost exactly the same mutual capability in regard to vector parallelism, however with keywords-based syntax instead of pragma-based syntax.

Both parallel loops and SIMD loops, in OpenMP and in Cilk Plus, require that the loops are “countable loops”. While the proposal does not suggest adding countable loops to the language as a distinct feature, the document presents the concept separately, so that it can be reused for both parallel loops and SIMD loops. The constructs actually being proposed are:

  1. Array notations (in part II)
  2. SIMD loops
  3. SIMD enabled functions.

N3830: Scoped Resource - Generic RAII Wrapper for the Standard Library—P Sommerlad, A Sandoval

A new WG21 paper is available. A copy is linked below, and the paper will also appear in the next normal WG21 mailing. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N3830

Date: 2013-12-23

Scoped Resource -- Generic RAII Wrapper for the Standard Library

by Peter Sommerlad and Andrew L. Sandoval

Excerpt:

Changes from N367: Replace all 4 proposed classes with a single class covering all use cases, using variadic templates, as determined in the Fall 2013 LEWG meeting.

The Standard Template Library provides RAII classes for managing pointer types, such as std::unique_ptr and std::shared_ptr. This proposal seeks to add a new generic RAII class which ties zero or more resources to a clean-up/completion routine which is bound by scope, ensuring execution at scope exit (as the object is destroyed) unless released or executed early or returned by moving its value.

N3829: apply() call a function with arguments from a tuple (V2)—Peter Sommerlad

A new WG21 paper is available. A copy is linked below, and the paper will also appear in the next normal WG21 mailing. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N3829

Date: 2013-12-23

apply() call a function with arguments from a tuple (V2)

by Peter Sommerlad

Excerpt:

This is a slightly update from the wording of N3802 as proposed by Jonathan Wakely.

N3658 and its predecessor N3493 introduced integer_sequence facility and provide application of this features, for example apply() that is proposed in this paper.

N3827: Working Draft Technical Specification - URI—Glyn Matthews, Dean Michael Berris

A new WG21 paper is available. A copy is linked below, and the paper will also appear in the next normal WG21 mailing. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N3827

Date: 2014-01-19

Working Draft Technical Specification - URI

by Glyn Matthews, Dean Michael Berris

Excerpt:

Revisions to N3792

1. Normalization is now an invariant of the std::experimental::uri class.

2. Removed uri_normalization_level.

3. Removed normalize member function.

N3891: A proposal to rename shared_mutex to shared_timed_mutex—Gor Nishanov, Herb Sutter

A new WG21 paper is available. A copy is linked below, and the paper will also appear in the next normal WG21 mailing. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N3891

Date: 2014-01-14

A proposal to rename shared_mutex to shared_timed_mutex

by Gor Nishanov, Herb Sutter

Excerpt:

We propose to rename shared_mutex to shared_timed_mutex:

(a) for consistency with the other mutexes (fixing naming inconsistency);

(b) to leave room for a shared_mutex which can be more efficient on some platforms than shared_timed_ mutex.

N3888: A Proposal to Add 2D Graphics Rendering and Display to C++—M McLaughlin, H Sutter, J Zink

A new WG21 paper is available. A copy is linked below, and the paper will also appear in the next normal WG21 mailing. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N3888

Date: 2014-01-18

A Proposal to Add 2D Graphics Rendering and Display to C++

by Michael McLaughlin, Herb Sutter, Jason Zink

Excerpt:

The goal of this proposal is to define a 2D drawing API based on a mechanical transformation of the cairo graphics library. Cairo is a comprehensive, cross-platform, widely-used, mature 2D graphics library written in C with an object-oriented style. ...

Computer graphics first appeared in the 1950s. The first recognized video game, Spacewar, was created in 1961. Today, computer graphics are pervasive in modern life, and are even replacing console-style I/O for basic user interaction on many mainstream platform targets. For example, writing a simple cout << "Hello, world!" doesn’t do anything useful on many tablets and smartphones.

Application programmers write programs that often need to render or display basic 2D graphics, including for introductory examples.

N3898: Hashing and Fingerprinting—Geoff Pike

A new WG21 paper is available. A copy is linked below, and the paper will also appear in the next normal WG21 mailing. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N3898

Date: 2014-01-20

Hashing and Fingerprinting

by Geoff Pike

Excerpt:

Given that multiple hash functions may traverse objects of some class, let's separate the code responsible for "traversing" the right parts of objects from the code that computes hashes.

N3849: string_view: a non-owning reference to a string, r6—J Yasskin

A new WG21 paper is available. A copy is linked below, and the paper will also appear in the next normal WG21 mailing. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N3849

Date: 2014-01-20

string_view: a non-owning reference to a string, revision 6

by Jeffrey Yasskin

Excerpt:

References to strings are very common in C++ programs, but often the callee doesn't care about the exact type of the object that owns the data.

N3858: Resumable Functions—Niklas Gustafsson, Deon Brewis, Herb Sutter

A new WG21 paper is available. A copy is linked below, and the paper will also appear in the next normal WG21 mailing. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N3858

Date: 2014-01-19

Resumable Functions

by Niklas Gustafsson, Deon Brewis, Herb Sutter

Excerpt:

While presenting a proposal that can be adopted or rejected in isolation, this document is related to N3857. The reader is advised to read both as a unit and to consider how the two build on each other for synergy. Reading them in their assigned numeric order is advised.

New in this version: minor changes to examples, explanatory text; make the section on generators clearer.