Product News

JSON Voorhees - Killer JSON for C++--Travis Gockel

Yet another JSON library for C++:

JSON Voorhees, GitHub link

by Travis Gockel

From the article:

JSON Voorhees is a JSON library written for the C++ programmer who wants to be productive in this modern world. What does that mean? There are a ton of JSON libraries floating around touting how they are "modern" C++ and so on. But who really cares? JSON Voorhees puts the focus more on the resulting C++ than any "modern" feature set. This means the library does not skip on string encoding details like having full support for UTF-8. Are there "modern" features? Sure, but this library is not meant to be a gallery of them – a good API should get out of your way and let you work. It is hosted on GitHub and sports an Apache License, so use it anywhere you need...

ODB C++ ORM 2.4.0 Released, Adds Bulk Operations Support

ODB C++ ORM 2.4.0 Released, Adds Bulk Operations Support

by Boris Kolpackov

ODB is an open source object-relational mapping (ORM) system for C++. It allows you to persist C++ objects to a relational database without having to deal with tables, columns, or SQL and without manually writing any of the mapping code.

Major new features in this release:

  • Support for bulk operations in Oracle and SQL Server. Bulk operations can be used to persist, update, or erase a range of objects using a single database statement execution which often translates to a significantly better performance.
  • Ability to join and load one or more complete objects instead of, or in addition to, a subset of their data members with a single SELECT statement execution (object loading views).
  • Support for specifying object and table join types in views (LEFT, RIGHT, FULL, INNER, or CROSS).
  • Support for calling MySQL and SQL Server stored procedures.
  • Support for defining persistent objects as instantiations of C++ class templates.

A more detailed discussion of these features can be found on the blog. For the complete list of new features in this version see the official release announcement.

ODB is written in portable C++ (both C++98/03 and C++11 are supported) and you should be able to use it with any modern C++ compiler. In particular, we have tested this release on GNU/Linux (x86/x86-64/ARM), Windows (x86/x86-64), Mac OS X (x86/x86_64), and Solaris (x86/x86-64/SPARC) with GNU g++ 4.2.x-5.x, MS Visual C++ 2005, 2008, 2010, 2012, and 2013, Sun Studio 12u2, and Clang 3.x.

The currently supported database systems are MySQL, SQLite, PostgreSQL, Oracle, and SQL Server. ODB also provides optional profiles for Boost and Qt, which allow you to seamlessly use value types, containers, and smart pointers from these libraries in your persistent classes.

More information, documentation, source code, and pre-compiled binaries are available on the project's page.

GCC5 and the C++11 ABI--rhjason

A new article of interest for library developers:

GCC5 and the C++11 ABI

by rhjason

From the article:

The GNU C++ team works hard to avoid breaking ABI compatibility between releases, including between different -std= modes. But some new complexity requirements in the C++11 standard require ABI changes to several standard library classes to satisfy, most notably to std::basic_string and std::list. And since std::basic_string is used widely, much of the standard library is affected...

Snail: Continuation-ready algorithms from STL algorithms -- Manu Sánchez

Monads in use, finally!!

Snail | Continuation-ready algorithms from STL algorithms

by Manu Sánchez

From the article:

Snail is my try to get a continuation-ready set of algorithms to operate on C++ containers, but instead of reinventing all the algorithms, addapting them through a continuation monad (or something resembling a continuation monad).

Announcing the Meeting C++ Recruiting Service!

News from Meeting C++! Today a new service for job seekers and employers has launched:

Announcing the Meeting C++ Recruiting Service

by Jens Weller

From the article:

A long time in the making, a lot of thinking about what is the correct format to do, and now finally having setup all things, I can announce the start of the Meeting C++ Recruiting Service!

Meeting C++ Recruiting is a service that aims at better connecting the C++ programmers, who are looking for a job, with those companies who are actively looking for talented C++ Programmers.

LLDB is Coming to Windows--Zachary Turner

A new article on the LLVM blog speaks about LLDB coming on Windows soon:

LLDB is Coming to Windows

by Zachary Turner

From the article:

We've spoken in the past about teaching Clang to fully support Windows and be compatible with MSVC.  Until now, a big missing piece in this story has been debugging the clang-generated executables.  Over the past 6 months, we've started working on making LLDB work well on Windows and support debugging both regular Windows programs and those produced by Clang...

The Silicon Web Framework

Web frameworks are a rare thing in C++ world so it's interesting to see a new one:

The Silicon Web Framework

by Matthieu Garrigues on GitHub

From the article:

Silicon is a high performance, middleware oriented C++14 http web framework. It brings to C++ the high expressive power of other web frameworks based on dynamic languages.

Deleaker For Free For OpenSource Project Owners

[From time to time vendors use Suggest an Article to submit blog suggestions, like this one. We felt this would be of interest to readers. --Ed.]

 

Free License Offer

We've decided to offer Deleaker for free for all who has open source projects and want to fix leaks in the code fast. We just ask to mention Deleaker. That's all.

To get a license please contact us.

What is Deleaker?

Deleaker is a tool for Visual C++ developers to find memory leaks, GDI leaks, COM / OLE leaks, handle leaks and other leak types.

In the past Deleaker was available as extension for Visual Studio 2005, 2008, 2010, 2012 and 2013. Unfortunately it made Deleaker unavailable for those who uses Express Edition as Express Edition doesn't support extensions.

We have just released new build 3.0.27 that includes standalone edition of Deleaker.

How does Deleaker work?

Deleaker is based on hooks. For each allocation and deallocation it saves stack traces and one a user click to Take snapshot it shows all allocations that are not freed yet.

Deleaker is available as Visual Studio extension and as a standalone tool.

Just a few screenshots. Extension mode:

Standalone edition of Deleaker: