There are 32 C++ User Group Meetings in April
The monthly overview on upcoming User Group meetings, this time its 32 User Groups meeting!
C++ User Group Meetings in April
by Jens Weller
September 13-19, Aurora, CO, USA
October 25, Pavia, Italy
November 6-8, Berlin, Germany
November 3-8, Kona, HI, USA
By Meeting C++ | Apr 5, 2016 02:37 AM | Tags: community
The monthly overview on upcoming User Group meetings, this time its 32 User Groups meeting!
C++ User Group Meetings in April
by Jens Weller
By Jon Kalb | Apr 3, 2016 11:40 AM | Tags: None
The C++ Now 2016 conference has a number of highlights this year.
C++ Now 2016 Hightlights
From the program:
C++17 is almost here and C++Now 2016 is offering sessions focused on specific C++17 features. Hear David Sankel on Variants, Nathan Myers on contracts support, and Alisdair Meredith on implementing tuple in C++17.
By Blog Staff | Apr 2, 2016 03:23 PM | Tags: None
The 2016-03 mailing of new standards papers is now available.
NOTE: A number of these papers have already been publicized on this blog. This is the complete list including ones not previously publicized.
2016-03 post-Jacksonville | |||||||
---|---|---|---|---|---|---|---|
N4578 | Working Draft, Technical Specification for C++ Extensions for Parallelism Version 2 | Jared Hoberock | 2016-02-22 | 2016-03 | N4505 | ||
N4579 | Parallelism TS Editor's Report, pre-Jacksonville mailing | Jared Hoberock | 2016-02-22 | 2016-03 | |||
N4580 | WG21 2016-02-19 Telecon Minutes | Jonathan Wakely | 2016-02-23 | 2016-03 | |||
N4581 | Revised WG21 2016-02-19 Telecon Minutes | Jonathan Wakely | 2016-02-29 | 2016-03 | |||
N4582 | Working Draft, Standard for Programming Language C++ | Richard Smith | 2016-03-19 | 2016-03 | N4567 | ||
N4583 | Editor's Report -- Working Draft, Standard for Programming Language C++ | Richard Smith | 2016-03-18 | 2016-03 | |||
N4584 | Working Draft, C++ Extensions for Library Fundamentals, Version 2 | Geoffrey Romer | 2016-03-08 | 2016-03 | N4562 | ||
N4585 | Editor's Report for the Library Fundamentals TS | Geoffrey Romer | 2016-03-08 | 2016-03 | |||
N4586 | WG21 2016-02 Jacksonville Min | Jonathan Wakely | 2016-03-30 | 2016-03 | |||
N4587 | PL22.16 2016-02 Jacksonville Minutes (Draft) | Jonathan Wakely | 2016-03-30 | 2016-03 | |||
N4588 | Working Draft, C++ extensions for Networking Note: | Jonathan Wakely | 2016-03-21 | 2016-03 | N4575 | ||
N4589 | Networking TS Editor's Report | Jonathan Wakely | 2016-03-20 | 2016-03 | |||
P0003R2 | Removing Deprecated Dynamic Exception Specifications from C++17 | Alisdair Meredith | 2016-03-20 | 2016-03 | P0003R1 | Core | |
P0005R4 | Adopt not_fn from Library Fundamentals 2 for C++17 | Alisdair Meredith | 2016-03-01 | 2016-03 | P0005R3 | Library | Adopted 2016-02 |
P0018R3 | Lambda Capture of *this by Value as [=,*this] | H. Carter Edwards, Daveed Vandevoorde, Christian Trott, Hal Finkel, Jim Reus, Robin Maffeo, Ben Sander | 2016-03-04 | 2016-03 | P0018R2 | Evolution, Core | Adopted 2016-02 |
P0019R2 | Atomic View | H. Carter Edwards, Hans Boehm, Olivier Giroux, James Reus | 2016-03-14 | 2016-03 | P0019R1 | Concurrency | |
P0020R2 | Floating Point Atomic | H. Carter Edwards, Hans Boehm, Olivier Giroux, JF Bastien, James Reus | 2016-03-14 | 2016-03 | P0020R1 | Concurrency, Library Evolution | |
P0024R2 | The Parallelism TS Should be Standardized | Jared Hoberock | 2016-03-04 | 2016-03 | P0024R1 | Concurrency | Adopted 2016-02 |
P0028R2 | Using non-standard attributes | J. Daniel Garcia, Luis M. Sanchez, Massimo Torquati, Marco Danelutto, Peter Sommerlad | 2016-03-15 | 2016-03 | P0028R1 | Evolution | |
P0028R3 | Using non-standard attributes | J. Daniel Garcia, Daveed Vandevoorde | 2016-03-15 | 2016-03 | P0028R2 | Evolution | |
P0035R2 | Dynamic memory allocation for over-aligned data | Clark Nelson | 2016-03-18 | 2016-03 | P0035R1 | Evolution | |
P0052R2 | Generic Scope Guard and RAII Wrapper for the Standard Library | Peter Sommerlad, Andrew L. Sandoval | 2016-03-18 | 2016-03 | P0052R1 | Library, Library Evolution | |
P0057R3 | Wording for Coroutines | Gor Nishanov, Jens Maurer, Richard Smith, Daveed Vandevoorde | 2016-03-20 | 2016-03 | P0057R2 | Core, Evolution | |
P0063R2 | C++17 should refer to C11 instead of C99 | Hans Boehm | 2016-03-18 | 2016-03 | P0063R1 | Library Evolution | |
P0077R2 | is_callable, the missing INVOKE related trai | Agustín Bergé | 2016-03-03 | 2016-03 | P0077R1 | Library | Adopted 2016-02 |
P0083R2 | Splicing Maps and Sets (Revision 4) | Alan Talbot, Jonathan Wakely, Howard Hinnant, James Dennett | 2016-03-20 | 2016-03 | P0083R1 | Library | |
P0088R2 | Variant: a type-safe union for C++17 (v7) | Axel Naumann | 2016-03-21 | 2016-03 | P0088R1 | Library | |
P0096R2 | Feature-testing recommendations for C++ | Clark Nelson | 2016-02-23 | 2016-03 | P0096R1 | Feature Testing | |
P0126R2 | std::synchronic<T> | Olivier Giroux, Torvald Riegel | 2016-03-13 | 2016-03 | P0126R1 | Concurrency | |
P0127R1 | Declaring non-type template arguments with auto | James Touton, Mike Spertus | 2016-03-04 | 2016-03 | P0127R0 | Evolution | |
P0138R2 | Construction Rules for enum class Values | Gabriel Dos Reis | 2016-03-04 | 2016-03 | P0138R1 | WG21 | Adopted 2016-02 |
P0143R2 | Wording for Modules | Gabriel Dos Reis | 2016-03-04 | 2016-03 | P0143R1 | Core | Adopted 2016-02 |
P0144R2 | Structured Bindings | Herb Sutter | 2016-03-16 | 2016-03 | P0144R1 | Evolution | |
P0152R1 | constexpr atomic<T>::is_always_lock_free | Olivier Giroux, JF Bastien, Jeff Snyder | 2016-03-02 | 2016-03 | P0152R0 | Concurrency | Adopted 2016-02 |
P0154R1 | constexpr std::thread::hardware_{true,false}_sharing_size | JF Bastien, Olivier Giroux | 2016-03-03 | 2016-03 | P0154R0 | Concurrency | Adopted 2016-02 |
P0167R2 | Core Language Working Group "ready" Issues for the February, 2016 (Jacksonville) meeting | William M. Miller | 2016-03-04 | 2016-03 | P0167R1 | WG21 | Adopted 2016-02 |
P0170R1 | Wording for Constexpr Lambda | Faisal Vali | 2016-03-01 | 2016-03 | P0170R0 | Core | |
P0174R1 | Deprecating Vestigial Library Parts in C++17 | Alisdair Meredith | 2016-03-21 | 2016-03 | P0174R0 | Library Evolution | |
P0177R1 | Cleaning up allocator_traits | Alisdair Meredith | 2016-03-01 | 2016-03 | P0177R0 | Library Evolution | |
P0177R2 | Cleaning up allocator_traits | Alisdair Meredith | 2016-03-21 | 2016-03 | P0177R1 | Library Evolution | |
P0180R1 | Reserve a New Library Namespace Future Standardization | Alisdair Meredith | 2016-03-21 | 2016-03 | P0180R0 | Library Evolution | |
P0185R1 | Adding [nothrow-]swappable traits, revision 3 | Daniel Krugler | 2016-03-01 | 2016-03 | P0185R0 | Library | Adopted 2016-02 |
P0188R1 | Wording for [[fallthrough]] attribute | Andrew Tomazos | 2016-02-29 | 2016-03 | P0188R0 | Core | Adopted 2016-02 |
P0189R1 | Wording for [[nodiscard]] attribute | Andrew Tomazos | 2016-02-29 | 2016-03 | P0189R0 | Core | Adopted 2016-02 |
P0190R1 | Proposal for New memory order consume Definition | Paul E. McKenney, Michael Wong, Hans Boehm, Jens Maurer | 2016-03-18 | 2016-03 | P0190R0 | Concurrency | |
P0191R1 | C++ virtual member function pointer comparison | Daniel Markus | 2016-03-20 | 2016-03 | P0191R0 | Evolution | |
P0193R1 | Where is Vectorization in C++‽ | JF Bastien, Hans Boehm | 2016-03-20 | 2016-03 | P0193R0 | Concurrency, SG14 | |
P0206R1 | A joining thread | Ville Voutilainen | 2016-03-09 | 2016-03 | P0206R0 | Concurrency, Library Evolution | |
P0212R1 | Wording for [[maybe_unused]] attribute | Andrew Tomazos | 2016-03-01 | 2016-03 | P0212R0 | Evolution | Adopted 2016-02 |
P0217R1 | Proposed wording for structured bindings | Jens Maurer | 2016-03-20 | 2016-03 | P0217R0 | Evolution, Core | |
P0218R1 | Adopt File System TS for C++17 | Beman Dawes | 2016-03-05 | 2016-03 | P0218R0 | Library, File System | |
P0220R1 | Adopt Library Fundamentals V1 TS Components for C++17 (R1) | Beman Dawes | 2016-03-03 | 2016-03 | P0220R0 | Library, Library Evolution | |
P0221R1 | Proposed wording for default comparisons, revision 3 | Jens Maurer | 2016-03-17 | 2016-03 | P0221R0 | Core | |
P0226R1 | Mathematical Special Functions for C++17, v5 | Walter E. Brown, Axel Naumann, Edward Smith-Rowland | 2016-02-29 | 2016-03 | P0226R0 | Library, Library Evolution | Adopted 2016-02 |
P0244R1 | Text_view: A C++ concepts and range based character encoding and code point enumeration library | Tom Honermann | 2016-03-20 | 2016-03 | P0244R0 | Library Evolution | |
P0245R1 | Hexadecimal float literals for C++ | Thomas Koeppe | 2016-03-04 | 2016-03 | P0245R0 | Evolution, Core | Adopted 2016-02 |
P0250R1 | Wording improvements for initialization and thread ids (CWG 2046) | Hans Boehm | 2016-03-20 | 2016-03 | P0250R0 | Concurrency, Core | |
P0253R1 | Fixing a design mistake in the searchers interface in Library Fundamentals | Marshal Clow | 2016-03-01 | 2016-03 | P0253R0 | Library Evolution | Adopted 2016-02 |
P0254R0 | Integrating std::string_view and std::string | Marshal Clow | 2016-03-20 | 2016-03 | Library Evolution | ||
P0258R1 | is_contiguous_layout | Michael Spencer | 2016-03-05 | 2016-03 | P0258R0 | Library, Core | |
P0263R1 | Core Language Working Group "tentatively ready" Issues for the February, 2016 (Jacksonville) Meeting | William M. Miller | 2016-03-04 | 2016-03 | P0263R0 | WG21 | Adopted 2016-02 |
P0267R1 | A Proposal to Add 2D Graphics Rendering and Display to C++, | Michael McLaughlin, Herb Sutter, Jason Zink | 2016-03-21 | 2016-03 | P0267R0 | Library Evolution | |
P0272R1 | Give 'std::string' a non-const '.data()' member function | David Sankel | 2016-03-04 | 2016-03 | P0272R0 | Library Evolution | Adopted 2016-02 |
P0275R0 | A Proposal to add Classes and Functions Required for Dynamic Library Load | Antony Polukhin | 2016-03-20 | 2016-03 | Library Evolution | ||
P0276R0 | A Proposal to add Attribute [[visible]] | Antony Polukhin | 2016-03-20 | 2016-03 | Evolution, Core | ||
P0277R1 | const Inheritance | David Wilson | 2016-02-22 | 2016-03 | P0277R0 | Evolution | |
P0283R1 | Standard and non-standard attributes | J. Daniel Garcia | 2016-03-15 | 2016-03 | P0283R0 | Core | |
P0290R0 | apply() for synchronized_value<T> | Anthony Williams | 2016-02-19 | 2016-03 | Concurrency | ||
P0292R0 | constexpr if: A slightly different syntax | Jens Maurer | 2016-03-17 | 2016-03 | Core | ||
P0295R0 | Adopt Selected Library Fundamentals V2 Components for C++17 | Walter E. Brown | 2016-03-01 | 2016-03 | Library Evolution, Library | ||
P0296R0 | Forward progress guarantees: Base definitions | Torvald Riegel | 2016-03-05 | 2016-03 | Core | ||
P0299R0 | Forward progress guarantees for the Parallelism TS v2 | Torvald Riegel | 2016-03-05 | 2016-03 | Library | ||
P0301R0 | Wording for Unified Call Syntax | Jens Maurer | 2016-03-04 | 2016-03 | Core | ||
P0301R1 | Wording for Unified Call Syntax (revision 1) | Jens Maurer | 2016-03-21 | 2016-03 | P0301R0 | Evolution | |
P0302R0 | Deprecating Allocator Support in std::function | Jonathan Wakely | 2016-03-18 | 2016-03 | Library | ||
P0304R0 | C++ Standard Library Issues Resolved Directly In Jacksonville | Marshal Clow | 2016-03-04 | 2016-03 | Library | Adopted 2016-02 | |
P0305R0 | If statement with initializer | Thomas Koeppe | 2016-03-14 | 2016-03 | Evolution, Core | ||
P0306R0 | Comma elision and comma deletion | Thomas Koeppe | 2016-03-17 | 2016-03 | Evolution, Core, WG14 liason | ||
P0308R0 | Valueless Variants Considered Harmful | Peter Dimov | 2016-03-16 | 2016-03 | Library Evolution, Library | ||
P0309R0 | Partial class | Daniele Bordes, Markus Hosch | 2016-03-17 | 2016-03 | Evolution | ||
P0310R0 | Splitting node and array allocation in allocators | Marcelo Zimbres | 2016-03-19 | 2016-03 | Library Evolution | ||
P0311R0 | A Unified Vision for Manipulating Tuple-like Objects | Matthew Woehlke | 2016-03-18 | 2016-03 | Evolution | ||
P0312R0 | Make Pointers to Members Callable | Barry Revzin | 2016-03-20 | 2016-03 | Evolution | ||
P0313R0 | Comparison operators in fold-expressions | Ville Voutilainen | 2016-03-21 | 2016-03 | Evolution |
By robwirving | Apr 1, 2016 11:58 AM | Tags: None
Episode 51 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Jens Weller to discuss the MeetingC++ conference and user group community.
CppCast Episode 51: Meeting C++ with Jens Weller
by Rob Irving and Jason Turner
About the interviewee:
Jens Weller is the organizer and founder of Meeting C++. Doing C++ since 1998, he is an active member of the C++ Community. From being a moderator at c-plusplus.de and organizer of his own C++ User Group since 2011 in Düsseldorf, his roots are in the C++ Community. Today his main work is running the Meeting C++ Platform (conference, website, social media and recruiting). His main role has become being a C++ evangelist, as this he speaks and travels to other conferences and user groups around the world.
By Blog Staff | Apr 1, 2016 09:18 AM | Tags: None
A new WG21 paper is available. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.
Document number: PO3OOrO
Date: 2016-04-01
Enhancing the C++ Basic Character Set with Standard Character Mappings
by Robert Douglas, Faisal Vali, Nate Wilson, Nevin Liber
Excerpt:
Languages evolve, as the means by which people best express their ideas. As this is the
domain of programming languages, it is up to us to make sure that C++ evolves in conjunction
with how people can best communicate their intents to machines and co-workers. Current
language has begun a transition to new forms of language.The world is additionally becoming far more social. In this new world, a competitive language
must be ready to embrace modern social forums with better support for the social paradigms of
the day. Unfortunately, C++ has a rather heavy syntax for expressing ideas. This is less of a
problem when armed with a keyboard and large monitors, but most devices these days are
smaller with shrinking keyboards, if any physical keyboard at all. This problem must be
mitigated, if C++ is to be an appealing language with the newest generation of developers.
By Blog Staff | Apr 1, 2016 02:00 AM | Tags: None
A new WG21 paper is available. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.
Document number: PO4116r0
Date: 2016-04-01
Completing support for emotive programming in C++
by Pablo Halpern
Excerpt:
There can be no doubt that C++ is an unusually expressive language. A significant part of that expressiveness comes from the ability to use emoticons, not just in comments and string literals, but in the code itself. For example the following (do-nothing) program compiles, links, and runs in all versions of C++: ...
By Blog Staff | Apr 1, 2016 01:00 AM | Tags: None
A new WG21 paper is available.
Document number: P3141
Date: 2016-04-01
std::terminates()
by Hal T. Ng, Professor, C.S., LLVM.edu
Excerpt:
In 2014, the C++ committee tackled the problem of C++98's subtly hard-to-use
std::uncaught_exception()
, which was intended to return whether there were unhandled exceptions but did not work as intended in all destructor cases. The committee successfully addressed the problem by providing the improvedstd::uncaught_exceptions()
(note plural "s"), which returns the number of unhandled exceptions in the current thread, and this function can now be used to reliably implementscope_guard
and similar patterns in portable code.Continuing in the same vein, this paper proposes to address C++98's related and sometimes-problematic
std::terminate()
. As its name suggests, the function causes abrupt program halts, which can cause data corruption if operations in flight are not completed gracefully. Theset_terminate_handler()
facility only partly addresses this problem by allowing a last-ditch handler to be invoked after unstoppable termination has already begun.Along the same lines as conditional
noexcept
(noexcept(cond)
), we propose a way for a sensitive operation, or a whole program, to determine in advance whether termination is possible. A program can test this by calling:namespace std { bool terminates(); }which returns
true
if and only if the program can subsequently terminate.Because this function cannot fail to determine a valid result, it should be
noexcept
. Further, anticipating its usefulness in constant expressions and following LWG’s guidance for usingconstexpr
wherever possible throughout the standard library, we propose in full:namespace std { constexpr bool terminates() noexcept; }Implementation notes: This function is so simple to specify that we foresee no implementation difficulty in any of the major C++ compilers.
Note that this is not the same as the halting problem, which would be to return
true
if and only if the program will halt, and which is known to take several hours to compute for programs longer than a few tens of millions of lines. Rather, this function is carefully constructed to returntrue
if and only if the program could terminate, which is fundamentally different and well understood problem.Acknowledgments: This paper expands on the core idea that was first proposed in committee hallway discussion by P.J. Plauger.
By Marco Arena | Apr 1, 2016 12:40 AM | Tags: visual studio
The Visual C++ Team announces a preview of the Lifetime Safety checker for CppCoreCheck:
C++ Core Guidelines Checkers: Preview of the Lifetime Safety checker
From the article:
Lifetime safety is ensuring that the lifetime of any object matches its use. That is, don’t leak objects by forgetting to delete them in the case that they were allocated on the heap, and don’t access objects...
By Roger Orr | Mar 31, 2016 11:44 PM | Tags: None
The JAX Finance conference is to be held in London in April.
The Conference for Technology in Finance
About the conference:
JAX Finance is a three-day conference for software experts focusing on the specific technological needs of the financial industry.
This year the conference includes a number of sessions on C++ (in addition to the existing focus on Java.)
Dates: 27 - 29 Apr
Venue: Park Plaza Victoria, London
By Marco Arena | Mar 30, 2016 09:13 AM | Tags: visual studio
The Visual Studio Team just released Visual Studio 2015 Update 2.
Useful links:
Download Visual Studio 2015 Update 2
What’s new for Visual C++ Developers
Breaking Changes in Visual C++ 2015 Update 2