Product News

CppDepend v6 Now Released -- CodeGears

CodeGears just released their CppDepend version 6.

CppDepend v6 Released

From the article:

After 7 years of development, CppDepend reached a certain level of maturity. Yet there are still many new potential features and improvements possible. We found out that the most sensitive part for this version 6 was actually to chose carefully the set of new features and improvements we’d like to offer to users.  version 6 new stuff reflects well the most demanded features that have just been marked as completed. Further topics are:

  • External Tools Integration Using API
  • Import Coverage Data
  • Latest Clang Used
  • Sonar Integration
  • Enhanced Visual Studio Integration
  • Rule Improvements
  • Code Metrics Visualization

docopt.cpp: A C++11 Port--Jared Grubb

A nice library to help you ship a program:

docopt.cpp: A C++11 Port

by Jared Grubb

From the article:

Isn't it awesome how getopt (and boost::program_options for you fancy folk!) generate help messages based on your code?! These timeless functions have been around for decades and have proven we don't need anything better, right?

Hell no! You know what's awesome? It's when the option parser is generated based on the beautiful help message that you write yourself! This way you don't need to write this stupid repeatable parser-code, and instead can write only the help message--the way you want it...

Cling Aims to Provide a High-performance C++ REPL--Sergio De Simone

Read about a REPL allowing to test things rapidly in C++:

Cling Aims to Provide a High-performance C++ REPL

by Sergio De Simone

From the article:

Cling is an interactive C++ interpreter that is built on top of LLVM and Clang and promises to provide a leap in productivity by going beyond the usual code-compile-run-debug C++ workflow...

Other useful materials:

Mach7: Pattern Matching for C++

Here is a new library to perform pattern matching:

Mach7: Pattern Matching for C++

by Yuriy Solodkyy, Gabriel Dos Reis and Bjarne Stroustrup

From the article:

Pattern matching is an abstraction mechanism that can greatly simplify source code. Commonly, pattern matching is built into a language to provide better syntax, faster code, correctness guarantees and improved diagnostics. Mach7 is a library solution to pattern matching in C++ that maintains many of these features. All the patterns in Mach7 are user-definable, can be stored in variables, passed among functions, and allow the use of open class hierarchies...

Example:

// Fibonacci numbers
int fib(int n)
{
    var<int> m;

    Match(n)
    {
      Case(1)     return 1;
      Case(2)     return 1;
      Case(2*m)   return sqr(fib(m+1)) - sqr(fib(m-1));
      Case(2*m+1) return sqr(fib(m+1)) + sqr(fib(m));
    }
    EndMatch
}

Breaking Changes in Visual C++

From the Visual C++ Porting and Upgrading Guide (referring to Visual Studio 2015 RC):

Breaking Changes in Visual C++

by Microsoft

From the article:

When you upgrade to a new version of the Visual C++ compiler, you might encounter compilation and/or runtime errors in code that previously compiled and ran correctly...

Bringing Clang to Windows -- Raman Sharma

Also announced this week:

Bringing Clang to Windows

by Raman Sharma

From the article:

What if you could use a single compiler for your cross-platform code irrespective of what platform you target? ...

This is now possible with the work we have done. What this enables is a scenario in which you compile ... (2) using Clang and ... the Visual C++ back-end (We call it C2).  All of this while still enjoying the rich end-to-end developer experience within Visual Studio.

Announcing Cat: a C++14 Functional Library -- Nicola Bonelli

Cat is meowingA new open source C++14 Functional Library has been released:

Cat: a C++14 Functional Library

by Nicola Bonelli

From the article:

Cat is a C++14 library, inspired by Haskell. Cat aims at pushing the functional programming approach in C++ to another level. [...] On one hand it works for filling the gap in the language with respect to functional programming. [...] On the other hand Cat promotes the use of generic programming with type classes, inspired by Category Theory.

rapidjson 1.0.0 released

Want a fast JSON parser? Check out this one…

rapidjson 1.0.0 released

From the article:

This is the final v1.0.0 release of RapidJSON.

After the v1.0-beta, a lot of efforts have been put to make RapidJSON 100% line-of-code covered by the unit tests...