CppDepend v2017 Released! -- CoderGears

We are happy to inform you that CppDepend v2017 has been released and is now available for download! CppDepend v2017 allows architects and developers to analyze C and C++ code base, automate code reviews, and facilitate refactoring and migration.

More Information about CppDepend v2017 new features!

by CoderGears

About the release

With CppDepend v2017 Save time, reduce costs and deliver high-quality code with these important updates:

  • Support: for Visual Studio 2017 RC.
  • Smart Technical Debt Estimation: CppDepend v2017 is the only VS extension that can tell the developer that, for example, since this morning the code just written has introduced debt that would cost about 30 minutes should it have to be repaid later. Knowing this, the developer can fix the code before even committing it to the source control.
  • Quality Gate: A Quality Gate is a check on a code quality fact that must be enforced before releasing and eventually, before committing to source control. Quality Gates for example can forbid issues with a certain severity introduced since the baseline, enforce particular code coverage by tests ratio on new and refactored code or enforce thresholds on any Technical Debt criteria.
  • Default Rules Set Improvements: All default rules have been revisited to smartly estimate the cost-to-fix and the severity of each issue and also to filter more false positives.
  • Dashboard Improvements: The dashboard now includes Technical Debt metrics, Quality Gates status and Issues facts. It allows drilling down any Technical Debt fact and filter issues through any criteria (new, severity, cost to fix...).
  • Enhanced Baseline Experience: Do you want to measure progress since this morning, last week or since the last release? Choose the baseline in a single click from the Dashboard and harness the updated results in just a few seconds.
  • Report Improvements: The CppDepend report now includes the new Dashboard and proposes Technical Debt and Quality Gates highlights.
  • Code Query Improvements: CppDepend Code Query LINQ (CQLinq) can now be used to live query the Technical Debt and the issues-set. Also, CQLinq now lets users write custom Quality Gates. With CQLinq, smart Technical Debt estimations are computed through custom formulas written in C#. Finally, a code query can now match code elements of various kinds (assemblies, namespace,s types, methods, fields) to obtain more informative results.

Download and enjoy the new version of CppDepend now by clicking here.

Trip report: Winter ISO C++ standards meeting (Kona) -- Botond Ballo

waldo.PNGA new trip report from the just-concluded ISO C++ meeting:

Trip report: C++ standards meeting in Kona, February 2017

by Botond Ballo

From the article:

Conclusion

C++17 is effectively out the door, with its Draft International Standard sent out for ballot, and the official release expected later this year.

Development on C++20 is well under way, with numerous core language and library features already earmarked for it, and several Technical Specifications expected to be merged into it. A proposal for an overall vision for the release aims to focus the committee’s efforts on four headliner features – Concepts, Modules, Ranges, and Networking. That is, of course, not a guarantee these features will be in C++20 (nor is it intended to exclude other features!), but I believe with some luck and continued hard work we can make part of all of that plan a reality.

Modules, in particular, are expected to be a game-changer for C++...

ACCU 2017 One Month Away

The upcomming ACCU 2017 conferenc from 2017-04-26 to 2017-04-29 in Bristol, UK is only one month away.

ACCU 2017 Conference

by the conference committee

About the conference:

The this years ACCU conference has 5 tracks in parallel with a strong focus on C++.

Beside the closing keynote by Herb Sutter, we have 90 minutes sessions by Dietmar Kühl, Timur Doumler, Nicolai Josutis, Marshal Clow, Anastasia Kazakova, Louis Dione, Guy Davidson, John Lakos, Peter Sommerlad, Arne Metz, Hubert Matthews, J. Daniel GarciaSergei Sadovnikov, Björn Fahller, Steven Simpson, Diego Rodriguez-Losada, Dominic Robinson, Arjan van Leeuwen, Vittorio Romeo, Roger Orr, Anthony Williams, Phil Nash, and Odin Holmes.

On the day before the conference we have two full day tutorials with C++ content by Nicolai Josuttis and Felix Petriconi.

So don't forget to register

 

Trip report: Winter ISO C++ standards meeting (Kona) -- Herb Sutter

A trip report from the just-concluded ISO C++ meeting:

Trip report: Winter ISO C++ standards meeting (Kona), C++17 is complete

by Herb Sutter

From the article:

C++17 is done!

The big news is that we completed C++17, which dominated the work of the meeting: C++17 is now technically finished and being sent out for its final ISO balloting. All that remains for C++17 now is some ISO red tape and minor touch-up to get it officially published, which is expected to be just mechanical...

CppCast Episode 94: Safe Numerics with Robert Ramey

Episode 94 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Robert Ramey to discuss his Safe Numerics library and the process of submitting libraries to both Boost and the C++ Standards Committee.

CppCast Episode 94: Safe Numerics with Robert Ramey

by Rob Irving and Jason Turner

About the interviewee:

Robert Ramey is a freelance C++ programmer for around 20 years. He has worked on a variety of applications including desktop retail applications, embedded systems on tiny micro controllers and combinations of these. For the last 10 of those years he has been active in the Boost Organization and

  • Author and Maintainer of the Boost Serialization library
  • Instigator of the Boost Library Incubator (www.blincubator.com)
  • Given talks on Boost/C++ related topics at C++Now and CPPCon
  • Written articles in print periodicals such as Software Development and ACCU Overload

Of late his interest has become more focused on practical approaches to improving program correctness. This has motivated recent talks at CPP Con ( boost units library, C++ and abstract algebra) and most recently the Safe Numerics library - which has very recently been accepted as an official Boost Library.

Italian C++ Conference 2017

A full day of C++ in Italy, June 17, 2017 / University "Bicocca", in Milan.

Italian C++ Conference 2017

Special guests:

Phil Nash (Developer Advocate at JetBrains)

Jens Weller (C++ Evangelist, creator of Meeting C++)

Bartosz Milewski (Blogger specializing in category theory and programming)

Dietmar Kühl (‎Senior Software Developer at Bloomberg LP)

 

An event organized by the Italian C++ Community.

Sponsors: Bloomberg and JetBrains.

 

International attendees are welcome: A track consisting of 4 tech sessions & the traditional Ask Us Everything with all the speakers involved are in English.

In a nutshell

The Italian C++ Conference 2017 aims to be a forum for exchanging experiences using the C++ language. The agenda consists of two tracks, one in Italian and one in English.

Who should attend the Italian C++ Conference 2017?

This event is made by passionate C++ professionals for C++ professionals, students and enthusiasts.

 

What can I find in the Italian C++ Conference 2017?

The agenda consists of 10x60' tech talks and 1x60' Q/A "Ask Us Everything" panel.

You can refer to the detailed program for more information (if you are an Italian reader, here is the same page in Italian).

 

When does the Italian C++ Conference 2017 take place?

The event will be held on June 17, 2017 at the University "Bicocca", in Milan.

Check-in at 8.30 AM. The event starts at 9.00 AM and will last for a full day.

Who supports this event?

Bloomberg and JetBrains are event main sponsors.

Axosoft and O'Reilly are event partners.

Get in touch if you want to support us!

 

Do I need to register?

The Italian C++ Conference 2017 is free, but you must register to facilitate the organization of the event. You can register here.

2017-03 post-Kona mailing available

The full 2017-03 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup Disposition
SD-1 2017 PL22.16/WG21 document list John Spicer 2017-02-08 2017-02      
2017-03 post-Kona
N4643 National Body Comments for PDTS 19216, C++ Extensions for Networking Barry Hedquist 2017-02-17 2017-03   WG21  
N4644 National Body Comments for PDTS 21425, C++ Extensions for Ranges Barry Hedquist 2017-02-17 2017-03   WG21  
N4645 WG21 Telecon Minutes Jonathan Wakely 2017-02-21 2017-03   WG21  
N4646 Withdrawn     2017-03   WG21  
N4647 Working Draft, Extensions to C++ for Modules Gabriel Dos Reis 2017-03-19 2017-03 N4637 WG21  
N4648 Editor's Report for the Module TS Gabriel Dos Reis 2017-03-20 2017-03   WG21  
N4649 Working Draft, Technical Specification on C++ Extensions for Coroutines Gor Nishanov 2017-03-03 2017-03 N4628 WG21  
N4650 Editor's report for the Coroutines TS Gor Nishanov 2017-03-02 2017-03   WG21  
N4651 Working Draft, C++ Extensions for Ranges Eric Niebler, Casey Carter 2017-03-15 2017-03   WG21  
N4652 Editor's Report for the Ranges TS Casey Carter 2017-03-15 2017-03   WG21  
N4653 2017-02 Kona Record of Discussion ISO/IEC Jonathan Wakely 2017-03-14 2017-03   WG21  
N4654 WG21 2017-02 Kona Minutes Jonathan Wakely 2017-03-14 2017-03   WG21  
N4655 PL22.16 2017-02 Kona Minutes Jonathan Wakely 2017-03-14 2017-03   WG21  
N4656 Working Draft, C++ Extensions for Networking Jonathan Wakely 2017-03-17 2017-03 N4626 WG21  
N4657 Networking TS - Editor's Report Jonathan Wakely 2017-03-17 2017-03   WG21  
N4658 Alternative accommodation (student residence) for the 2017-07 Toronto WG21 Meeting Botond Ballo 2017-03-17 2017-03   WG21  
N4659 Working Draft, Standard for Programming Language C++ Note: Richard Smith 2017-03-21 2017-03 N4640 WG21  
N4660 C++17 DIS Ballot Document Richard Smith 2017-03-21 2017-03   WG21  
N4661 Editor's Report -- Working Draft, Standard for Programming Language C++ Richard Smith 2017-03-21 2017-03   WG21  
P0019R5 Atomic View H. Carter Edwards, Hans Boehm, Olivier Giroux, James Reus 2017-03-06 2017-03 P0019R4 Library Evolution  
P0020R5 Floating Point Atomic H. Carter Edwards, Hans Boehm, Olivier Giroux, JF Bastien, James Reus 2017-03-06 2017-03 P0020R4 Library Evolution  
P0156R2 Variadic lock_guard (Rev. 4) Mike Spertus 2017-03-03 2017-03 P0156R1 Library Adopted 2017-03
P0237r6 Wording for fundamental bit manipulation utilities Vincent Reverdy, Robert J. Brunner 2017-03-20 2017-03 P0237R5 Library Evolution, SG14, Numerics  
P0250R3 Wording improvements for initialization and thread ids (CWG 2046, 1784) Hans Boehm 2017-03-02 2017-03 P0250R2 Core Adopted 2017-03
P0261R3 C++ Distributed Counters Lawrence Crowl 2017-03-13 2017-03 P0261R2 Concurrency  
P0267R4 A Proposal to Add 2D Graphics Rendering and Display to C++, Michael McLaughlin, Herb Sutter, Jason Zink 2017-03-20 2017-03 P0267R3 Library Evolution  
P0270R3 Removing C dependencies from signal handler wording Hans Boehm 2017-02-02 2017-03 P0270R2 Core, Library Adopted 2017-03
P0290R2 apply() for synchronized_value<T> Anthony Williams 2017-03-02 2017-03 P0290R1 Concurrency  
P0298R3 A byte type definition Neil MacIntosh 2017-03-03 2017-03 P0298R2 Library Evolution Adopted 2017-03
P0409R2 Allow lambda capture [=, this] Thomas Koeppe 2017-03-04 2017-03 P0409R1 Core  
P0430R2 File system library on non-POSIX-like operating systems Jason Liu, Hubert Tong 2017-02-28 2017-03 P0430R1 Library, Library Evolution Adopted 2017-03
P0433R2 Toward a resolution of US7 and US14: Integrating template deduction for class templates into the standard library Mike Spertus, Walter E. Brown, Stephan T. Lavavej 2017-03-03 2017-03 P0433R1 Library Evolution, Library Adopted 2017-03
P0447R2 Introduction of std::colony to the standard library Patrice Roy, Guy Davidson, Matthew Bentley 2017-02-11 2017-03 P0447R1 Library Evolution, SG14  
P0452R1 Unifying <numeric> Parallel Algorithms Bryce Adelstein Lelbach 2017-03-01 2017-03 P0452R0 Concurrency, Library Evolution, Library Adopted 2017-03
P0464R2 Revisiting the meaning of "foo(ConceptName,ConceptName)" Tony Van Eerd, Botond Ballo 2017-03-12 2017-03 P0464R1 Evolution  
P0467R2 Iterator Concerns for Parallel Algorithms Alisdair Meredith 2017-03-02 2017-03 P0467R1 Concurrency, Library Adopted 2017-03
P0492R2 Proposed Resolution of C++17 National Body Comments for Filesystem Beman Dawes, S. Davis Herring, Nicolai Josuttis, Jason Liu, Billy O'Neal, P.J. Plauger, Jonathan Wakely 2017-03-03 2017-03 P0492R1 Library Adopted 2017-03
P0501R1 C++ Module TS Issues List Gabriel Dos Reis 2017-03-19 2017-03 P0501R0 Core, Evolution  
P0511R1 Deduction guide for std::array Zhihao Yuan 2017-02-24 2017-03 P0511R0 Library Evolution  
P0518R1 Allowing copies as arguments to function objects given to parallel algorithms in response to CH11 David S. Hollman, Jonathan Liffander, Michael Wong, Detlef Vollmann 2017-03-01 2017-03 P0518R0 Library Evolution Adopted 2017-03
P0523R1 Wording for CH 10: Complexity of parallel algorithms Detlef Vollmann 2017-03-01 2017-03 P0523R0 Concurrency, Library Adopted 2017-03
P0548R1 common_type and duration Walter E. Brown 2017-03-03 2017-03 P0548R0 Library Adopted 2017-03
P0553R1 Bit Operations Jens Maurer 2017-03-19 2017-03 P0553R0 Library Evolution  
P0556R1 Integral power-of-2 operations Jens Maurer 2017-03-19 2017-03 P0556R0 Library Evolution  
P0558R1 Resolving atomic<T> named base class inconsistencies Billy O'Neal 2017-03-03 2017-03 P0558R0 Concurrency, Library Adopted 2017-03
P0574R1 Algorithm Complexity Constraints and Parallel Overloads Anthony Williams 2017-03-02 2017-03 P0574R0 Concurrency, Library Adopted 2017-03
P0575R1 Core Language Working Group "ready" Issues for the February, 2016 (Kona) meeting William M. Miller 2017-03-03 2017-03 P0575R0 Core Adopted 2017-03
P0575R2 Core Language Working Group "ready" Issues for the February, 2016 (Kona) meeting William M. Miller 2017-03-03 2017-03 P0575R1 Core  
P0576R1 Core Language Working Group "tentatively ready" Issues for the February, 2016 (Kona) meeting William M. Miller 2017-03-03 2017-03 P0576R0 Core Adopted 2017-03
P0582R0 Modules: Contexts of template instantiations and name lookup Gabriel Dos Reis 2017-03-02 2017-03   Core, Evolution Adopted 2017-03
P0591R1 Utility functions to implement uses-allocator construction Pablo Halpern 2017-03-09 2017-03 P0591R0 Library Evolution  
P0599R1 US140: noxecept for hash functions Nicolai Josutti 2017-03-02 2017-03 P0599R0 Library Adopted 2017-03
P0602R0 variant and optional should propagate copy/move triviality Zhihao Yuan 2017-02-04 2017-03   Library Evolution  
P0603R0 safe memcpy: A simpler implementation primitive for seqlock and friends Andrew Hunter 2017-03-17 2017-03   Concurrency  
P0604R0 Resolving GB 55, US 84, US 85, US 86 Daniel Krugler, Pablo Halpern, Jonathan Wakely 2017-03-03 2017-03   Library Evolution, Library Adopted 2017-03
P0606R0 Concepts Are Ready Gabriel Dos Reis 2017-02-25 2017-03   Evolution  
P0607R0 Inline Variables for the Standard Library Daniel Krugler 2017-02-27 2017-03   Library Evolution, Library Adopted 2017-03
P0608R0 A sane variant converting constructor (LEWG 227) Zhihao Yuan 2017-03-02 2017-03   Library Evolution, Library  
P0609R0 Attributes for Structured Bindings Aaron Ballman 2017-03-04 2017-03   Evolution  
P0610R0 C++ Standard Library "Review" Issues Resolved in Kona Marshal Clow 2017-03-04 2017-03   Library Adopted 2017-03
P0611R0 More Better Operators Lawrence Crowl 2017-03-18 2017-03   Evolution  
P0612R0 NB comment CH 2: volatile Jens Maurer 2017-02-27 2017-03   WG21 Adopted 2017-03
P0613R0 NB comment GB15: Resolution of Core Issue 2011 William M. Miller 2017-02-27 2017-03   WG21 Adopted 2017-03
P0614R0 Range-based for statements with initializer Thomas Köppe 2017-03-18 2017-03   Evolution, Core  
P0615R0 Renaming for structured bindings Jens Maurer 2017-03-01 2017-03   WG21 Adopted 2017-03
P0618R0 Deprecating <codecvt> Alisdair Meredith 2017-03-02 2017-03   Library Adopted 2017-03
P0619R0 Reviewing Deprecated Facilities of C++17 for C++20 Alisdair Meredith, Stephan T. Lavavej, Tomasz Kamiński 2017-03-17 2017-03   Evolution  
P0620R0 Drafting for class template argument deduction issues Jason Merrill 2017-03-02 2017-03   Core Adopted 2017-03
P0621R0 Ready Ranges TS Issues Casey Carter 2017-03-02 2017-03   Library  
P0622R0 Additional Core Language Working Group "ready" and "tentatively ready" Issues for the February, 2017 (Kona) meeting William M. Miller 2017-03-03 2017-03   Core Adopted 2017-03
P0623R0 Final C++17 Parallel Algorithms Fixes Bryce Adelstein Lelbach, Alisdair Meredith, Anthony Williams 2017-03-03 2017-03   Concurrency, Library Evolution, Library Adopted 2017-03
P0624R0 Default constructible stateless lambdas Louis Dionne 2017-03-20 2017-03   Evolution  
P0625R0 C++ Standard Library Issues Resolved Directly In Kona Marshal Clow 2017-03-03 2017-03   Library  
P0627R0 Attribute to mark unreachable code Melissa Mears 2017-03-14 2017-03   Evolution  
P0629R0 Module interface vs. imiplementation Gabriel Dos Reis, Jason Merrill, Nathan Sidwell 2017-03-17 2017-03   Evolution  
P0630R0 To boldly suggest a pub crawl for C++ Toronto Duncan P.N. Exon Smith 2017-03-19 2017-03   WG21  
P0631R0 Math Constants Lev Minkovsky 2017-03-19 2017-03   Library Evolution, Numerics  
P0632R0 Proposal of [[uninitialized]] attribute Jonathan Müller 2017-01-19 2017-03   Evolution  
P0633R0 Exploring the design space of metaprogramming and reflection Daveed Vandevoorde, Louis Dionne 2017-03-20 2017-03   Reflection  
P0634R0 Down with `typename`! Daveed Vandevoorde 2017-03-05 2017-03   Evolution