Boost 1.54.0 released!

Release 1.54.0 of the Boost C++ Libraries is now available.

These open-source libraries work well with the C++ Standard Library, and are usable across a broad spectrum of applications.
The Boost license encourages both commercial and non-commercial use.

This release contains five new libraries and numerous enhancements and bug fixes for existing libraries.

New Libraries:
Log: Logging library, from Andrey Semashev.
TTI: Type Traits Introspection library, from Edward Diener.
Type Erasure: Runtime polymorphism based on concepts.

For details, including download links, see http://www.boost.org/users/news/version_1.54.0

You can also download directly from SourceForge: http://sourceforge.net/projects/boost/files/boost/1.54.0/

To install this release on your system, see http://www.boost.org/doc/libs/release/more/getting_started/index.html

Thanks,

--The Boost release team

New paper: N3698, July 25-26 Santa Clara SG1 Meeting Announcement and Agenda -- Hans Boehm

Note: This paper explores potential future standardization directions and alternatives. It does not discuss or propose to amend the C++14 Committee Draft paper whose ballot is currently in progress.

 

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: N3698

Date: 2013-06-30

July 25-26 Santa Clara SG1 Meeting Announcement and Agenda

by Hans Boehm

Excerpt:

Location

Nvidia, 2701 San Tomas Expressway, Santa Clara, CA. Meet at Building E lobby.

Agenda

2 Discuss parallellism and concurrency extensions for future C++ standards

2.1 Discuss previously submitted concurrency proposals that were insufficiently addressed at the Bristol meeting.

2.2 Discuss other proposals.

C++-fest GoingNative 2013 announced: Sep 4-6, Redmond, WA, USA

gn13.PNGIn his Build talk yesterday, Herb Sutter announced the GoingNative conference will be held again this year, just over two months from now.

Like last year, the conference will be keynoted by Bjarne Stroustrup, and has two solid days dedicated to current and important material about Standard C++ on all compilers and platforms, with talks from the developers of Visual C++, Clang, IBM xlC++, and other compilers. This year, the organizers are also adding a third day with a mix of ISO C++ and Visual C++ specific topics. In-room attendance is limited to about 300 people.

GoingNative 2013 (registration) (announcement video clip)

Keynotes: Bjarne Stroustrup, Herb Sutter

Speakers:

  • Scott Meyers
  • Andrei Alexandrescu (Facebook)
  • Chandler Carruth (Google)
  • Stephan T. Lavavej (Microsoft)
  • Michael Wong (IBM)
  • Sean Parent (Adobe)
  • and more...

This is the only major public C++ event in North America in 2013 that isn't already sold out. Register today!

New paper: N3693, Working Draft, Technical Specification -- File System -- Beman Dawes

Note: This paper explores potential future standardization directions and alternatives. It does not discuss or propose to amend the C++14 Committee Draft paper whose ballot is currently in progress.

 

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: N3693

Date: 2013-06-28

Working Draft, Technical Specification -- File System

by Beman Dawes

Excerpt:

This Technical Specification specifies requirements for implementations of an interface that computer programs written in the C++ programming language may use to perform operations on file systems and their components, such as paths, regular files, and directories.

New paper: N3695, SG5: Transactional Memory Meeting Minutes 2013/03/11-2013/06/10 -- Michael Wong

Note: This paper explores potential future standardization directions and alternatives. It does not discuss or propose to amend the C++14 Committee Draft paper whose ballot is currently in progress.

 

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: N3695

Date: 2013-06-28

SG5: Transactional Memory (TM) Meeting Minutes 2013/03/11-2013/06/10

by Michael Wong

Excerpt:

Contents

Minutes for 2013/03/11 SG5 Conference Call ... 2

Minutes for 2013/04/08 SG5 Conference Call ... 10

Minutes for 2013/04/29 SG5 Conference Call ... 14

Minutes for 2013/05/13 SG5 Conference Call ... 23

Minutes for 2013/06/03 SG5 Conference Call ... 25

Minutes for 2013/06/10 SG5 Conference Call ... 30

New paper: N3696, Proposal to extend atomic with priority update functions -- Bronek Kozicki

Note: This paper explores potential future standardization directions and alternatives. It does not discuss or propose to amend the C++14 Committee Draft paper whose ballot is currently in progress.

 

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: N3696

Date: 2013-06-26

Proposal to extend atomic with priority update functions

by Bronek Kozicki

Excerpt:

Paper [1] identifies a range of concurrent algorithms which, when implemented using the above described primitive, exhibit very good performance characteristics. If such algorithms were to become more popular in C++ , it would be useful to provide the primitive in <atomic>, rather than rely on the user to "Bring Your Own". This would serve the purpose of establishing a primitive which can be used for reasoning about, writing and reading of such concurrent algorithms, as well as allow users to automatically benefit from the hardware support for certain specializations of these operations, where it is available [2].

Quick Q: What type does auto use for containers? -- StackOverflow

Quick A: std::initalizer_list. And did you know you can even do for(auto i: {1,2,3,4,5}) ?

What type does auto use for containers?

I can achieve identical output by using different containers in C++. For example . .

    std::array<int, 5> v = {1,2,3,4,5};
    for(auto i : v)
        std::cout << i << ", ";

or

    std::vector<int> v = {1,2,3,4,5};

or

    int v[] = {1,2,3,4,5};

etc.

So what container does auto use here?

    auto v = {1,2,3,4,5};
    for(auto i : v)
        std::cout << i << ", ";

Quick Q: Why does draft C++14 have both runtime-sized arrays and std::dynarray? -- StackOverflow

Several people have asked:

Why both runtime-sized arrays and std::dynarray in C++14?

Draft C++14 includes both runtime-sized arrays and the std::dynarray container. From what I can tell, the only real difference between the two is that std::dynarray has an STL interface (e.g., begin, end, size, etc.), while runtime-sized arrays do not. So why does C++14 need them both?

Scott Meyers speaking at NWC++UG -- July 17, Redmond, WA, USA

In three weeks, Scott Meyers will be giving a free talk at the Northwest C++ Users' Group:

The Universal Reference/Overloading Collision Conundrum

by Scott Meyers

July 17, 2013 at 7:00pm (pizza at 6:45)
Microsoft Campus, Building 40
Redmond, WA, USA

Abstract

To help address the confusion that arises when rvalue references become lvalue references through reference collapsing, Scott Meyers introduced the notion of “universal references.” In this presentation, he builds on this foundation by explaining that overloading functions on rvalue references is sensible and useful, while seemingly similar overloading on universal references yields confusing, unhelpful behavior. But what do you do when you want to write a perfect forwarding function (which requires universal references), yet you want to customize its behavior for certain types? If overloading is off the table, what’s on? In this talk, Scott surveys a variety of options.

Though Scott will give a one-slide overview of the idea behind universal references at the beginning of the presentation, attendees are encouraged to familiarize themselves with the notion in more detail prior to the talk. Links to written and video introductions to universal references are available here.

Bio

Scott Meyers is one of the world’s foremost authorities on C++. He wrote the best-selling Effective C++ series (Effective C++, More Effective C++, and Effective STL); published and maintains the annotated training materials Overview of the New C++ (C++11) and Effective C++ in an Embedded Environment; is Consulting Editor for Addison Wesley’s Effective Software Development Series, and, with Herb Sutter and Andrei Alexandrescu, is a principal in C++ and Beyond. He has a Ph.D in Computer Science from Brown University. He’s currently working on a new book, Effective C++11/14, which he hopes to publish in early 2014.