October 2013

CGAL 4.3 Released, Computational Geometry Algorithms Library

cgal_front_page_2013.pngThe CGAL Open Source Project is pleased to announce the release 4.3 of CGAL, the Computational Geometry Algorithms Library.

Besides fixes to existing packages, the following has changed since CGAL 4.2:

  • The CGAL Manual generated with Doxygen

    The documentation of CGAL is now generated with Doxygen: http://doc.cgal.org/4.3

    The conversion to Doxygen from our home-made tools was not completely smooth. Please report any documentation bug you may discover to our Inria Forge bug tracker.

  • 2D Periodic Triangulations (new package)

    This package allows to build and handle triangulations of point sets in the two dimensional flat torus. Triangulations are built incrementally and can be modified by insertion or removal of vertices. They offer point location facilities. The package provides Delaunay triangulations and offers nearest neighbor queries and primitives to build the dual Voronoi diagrams.

See http://www.cgal.org/releases.html for a complete list of changes.

The CGAL project is a collaborative effort to develop a robust, easy-to-use, and efficient C++ software library of geometric data structures and algorithms, such as:

  • triangulations (2D constrained triangulations, Delaunay triangulations and periodic triangulations in 2D and 3D),
  • Voronoi diagrams (for 2D and 3D points, 2D additively weighted Voronoi diagrams, and segment Voronoi diagrams),
  • Boolean operations on polygons and polyhedra,
  • regularized Boolean operations on polygons with curved arcs
  • arrangements of curves,
  • mesh generation (2D, 3D and surface mesh generation, surface mesh subdivision and parametrization),
  • alpha shapes (in 2D and 3D),
  • convex hull algorithms (in 2D, 3D and dD),
  • operations on polygons (straight skeleton and offset polygon),
  • search structures (kd trees for nearest neighbor search, and range and segment trees),
  • interpolation (natural neighbor interpolation and placement of streamlines),
  • optimization algorithms (smallest enclosing sphere of points or spheres, smallest enclosing ellipsoid of points, principal component analysis),
  • kinetic data structures.

Some modules are distributed under the terms of the LGPL Open Source license (GNU Lesser General Public License v3 or later versions). Most modules are distributed under the terms of the GPL Open Source license (GNU General Public License v3 or later versions). If your intended usage does not meet the criteria of the aforementioned licenses, a commercial license can be purchased from GeometryFactory.

For further information and for downloading the library and its documentation, please visit the CGAL web site.

Post-Chicago standards papers mailing available

The official post-meeting standards papers mailing is now available. It includes meeting minutes, the winter meeting agenda, updated issues lists, and a number of new papers including some that came through the public std-proposals forum. (Update: Please also direct discussion about these papers to that forum.)

Note: All of these papers have also been posted already to this site’s Standardization RSS feed. Subscribe to that feed to see the papers as they appear.

 

N3767 Teleconference Minutes (September 2013) Kyle Kloepper 2013-09-13 2013-10      
N3768 Minutes (September 2013) Kyle Kloepper 2013-10-16 2013-10      
N3769 Minutes: PL22.16 Meeting No. 60, 15-20 April 2013 - Bristol, UK Kyle Kloepper          
N3770 C++ CD Comment Status, Rev. 1 William M. Miller 2013-10-14 2013-10      
N3771 Canadian C++14 Comments H. Tong, M. Wong 2013-09-22 2013-10      
N3772 Changing the type of address-of-member expression David Rodríguez Ibeas 2013-09-05 2013-10   Evolution  
N3773 async and ~future (Revision 4) Herb Sutter 2013-09-12 2013-10 N3637 Concurrency Revised N3776, N3777
N3774 C++ Needs Language Support For Vectorization A. Naumann, S. Wenzel 2013-09-19 2013-10   Concurrency  
N3775 Deprecating rand() and Friends Walter E. Brown 2013-09-25 2013-10   Library  
N3776 Wording for ~future Herb Sutter 2013-09-23 2013-10 N3773 Concurrency  
N3777 Wording for deprecating async Herb Sutter 2013-09-23 2013-10 N3773 Concurrency  
N3778 C++ Sized Deallocation Lawrence Crowl 2013-09-27 2013-10 N3663 Core/ Library  
N3779 User-defined Literals for std::complex Peter Sommerlad 2013-09-24 2013-10   Library  
N3780 Why Deprecating async() is the Worst of all Options Nico Josuttis 2013-09-26 2013-10   Concurrency  
N3781 Single-Quotation-Mark as a Digit Separator L. Crowl, R. Smith, J. Snyder, D. Vandevoorde 2013-09-25 2013-10 N3448 Evolution  
N3782 Index Based Ranges (Rev. 1) A. Shödl, F. Fracassi 2013-09-24 2013-10 N3752 Ranges  
N3783 Network Byte Order Conversion Robert Pratte 2013-09-27 2013-10 N3646 Networking  
N3784 Improvements to std::future<T> and Related APIs N. Gustafsson, A. Laksberg, H. Sutter, S. Mithani 2013-09-27 2013-10 N3721 Concurrency  
N3785 Executors and schedulers, revision 3 C. Mysen, N. Gustafsson, M. Austern, J. Yasskin 2013-10-8 2013-10 N3731 Concurrency  
N3786 Prohibiting "out of thin air" results in C++14 Hans-J. Boehm 2013-9-24 2013-10   Concurrency  
N3787 What can signal handlers do? (CWG 1441) Hans Boehm 2013-10-14 2013-10 N3633 Concurrency  
N3788 Immediate issues Alisdair Meredith 2013-09-27 2013-10 N3754 Library  
N3789 Constexpr Library Additions: functional Marshall Clow 2013-09-27 2013-10 N3749 Library  
N3790 Working Draft, Technical Specification -- File System Beman Dawes 2013-09-27 2013-10 N3693 Filesystem  
N3791 Lightweight Drawing Library - Objectives, Requirements, Strategies Beman Dawes 2013-10-11 2013-10   Graphics  
N3792 Working Draft Technical Specification - URI G. Matthews, D. Berris 2013-10-11 2013-10 N3720 Networking  
N3793 A proposal to add a utility class to represent optional objects (Revision 5) F. Cacciola, A. Krzemieński 2013-10-03 2013-10 N3672 Library Evolution  
N3794 Proposal to Add Multi-Dimensional Support to std::array Daryle Walker 2013-10-10 2013-10   Library Evolution  
N3795 A more common version of algorithm std::partition_copy Vladimir Grigoriev 2013-09-16 2013-10   Library Evolution  
N3796 std::rand replacement Zhihao Yuan 2013-10-02 2013-10   Library Evolution  
N3797 Working Draft, Standard for Programming Language C++ Stefanus Du Toit 2013-10-13 2013-10 N3691    
N3798 C++ Editor's Report, October 2013 Stefanus Du Toit 2013-10-13 2013-10      
N3799 AGENDA: PL22.16 Meeting No. 62, WG21 Meeting No. 57, February 10-15, 2014 - Issaquah, WA, USA Stephen D. Clamage 2013-10-07 2013-10      
N3800 A proposal to add a generalized callable negator (Revision 1) Tomasz Kamiński 2013-09-16 2013-10 N3699 Library  
N3801 Removing Undefined Behavior from the Preprocessor Gabriel Dos Reis 2013-10-14 2013-10   Undefined behavior, Core  
N3802 apply() call a function with arguments from a tuple Peter Sommerlad 2013-10-08 2013-10   Library Evolution  
N3803 Programming Languages -- C++ Standard Library -- File System Technical Specification Beman Dawes 2013-10-05 2013-10 N3790 Filesystem  
N3804 Any Library Proposal (Revision 3) B. Dawes, K. Henney, D. Krügler 2013-10-09 2013-10 N3508 Library  
N3805 SPRING 2014 JTC1/SC22/WG21 C++ STANDARDS COMMITTEE MEETING: Preliminary Information Peter Sommerlad     N3569    
N3806 C++ Standard Core Language Active Issues, Revision 86 William M. Miller 2013-10-14 2013-10 N3713 Core  
N3807 C++ Standard Core Language Defect Reports and Accepted Issues, Revision 86 William M. Miller 2013-10-14 2013-10 N3714 Core  
N3808 C++ Standard Core Language Closed Issues, Revision 86 William M. Miller 2013-10-14 2013-10 N3715 Core  
N3809 Proposal for Unbounded-Precision Integer Types Pete Becker     N3542 Numerics  
N3810 Alternatives for Array Extensions Bjarne Stroustrup 2013-10-13 2013-10   Evolution  
N3811 C++ Standard Evolution Active Issues List (Revision R04) Ville Voutilainen 2013-10-12 2013-10 N3736 Evolution  
N3812 C++ Standard Evolution Completed Issues List (Revision R04) Ville Voutilainen 2013-10-12 2013-10 N3737 Evolution  
N3813 C++ Standard Evolution Closed Issues List (Revision R04) Ville Voutilainen 2013-10-12 2013-10 N3738 Evolution  
N3814 Call for Compile-Time Reflection Proposals J. Snyder, C. Carruth 2013-10-06 2013-10   Reflection  
N3815 Enumerator List Property Queries A. Tomazos, C. Käser 2013-10-03 2013-10   Library Evolution  
N3816 Polymorphic Memory Resources - r1 Pablo Halpern 2013-10-13 2013-10 N3726 Library Evolution  
N3817 C++ Latches and Barriers Alasdair Mackintosh 2013-10-11 2013-10 N3666 Concurrency  
N3818 Centralized Defensive-Programming Support for Narrow Contracts (Revision 2) J. Lakos, A. Zakharov 2013-10-11 2013-10 N3753 Library  
N3819 Concepts Lite Specification A. Sutton, B. Stroustrup, G. Dos Reis 2013-10-11 2013-10   Concepts  
N3820 Working Draft, Technical Specification -- Array Extensions Lawrence Crowl 2013-10-10 2013-10   Evolution  
N3821 C++ Standard Library Active Issues List (Revision R85) Alisdair Meredith 2013-10-14 2013-10 N3754 Library  
N3822 C++ Standard Library Defect Report List (Revision R85) Alisdair Meredith 2013-10-14 2013-10 N3755 Library  
N3823 C++ Standard Library Closed Issues List (Revision R85) Alisdair Meredith 2013-10-14 2013-10 N3756 Library  

N3821-23: C++ Standard Library Issues List (Revision R85) -- Alisdair Meredith

New WG21 papers are available. Copies are 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: N3821-23

Date: 2013-10-14

C++ Standard Library Active Issues List (Revision R85)

C++ Standard Library Defect Report List (Revision R85)

C++ Standard Library Closed Issues List (Revision R85)

by Alisdair Meredith

Excerpt:

The purpose of this document is to record the status of issues which have come before the Library Working Group (LWG) of the INCITS PL22.16 and ISO WG21 C++ Standards Committee.

N3819: Concepts Lite Specification -- Andrew Sutton

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

Date: 2013-10-11

Concepts Lite Specification

by Andrew Sutton

Excerpt:

C++ has long provided language support for generic programming in the form of templates. However, these templates are unconstrained, allowing any type or value to be substituted for a template argument, often resulting in compiler errors. What is lacking is a specification of an interface for a template, separate from its implementation, so that a use of a template can be selected among alternative templates and checked in isolation.

N3818: Centralized Defensive-Programming Support for Narrow Contracts (R2) -- Lakos, Zakharov

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

Date: 2013-10-11

Centralized Defensive-Programming Support for Narrow Contracts (Revision 2)

by John Lakos, Alexei Zakharov

Excerpt:

In this proposal, we describe a centralized facility for supporting defensive runtime validation of function preconditions.

N3817: C++ Latches and Barriers -- Alasdair Mackintosh

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

Date: 2013-10-11

C++ Latches and Barriers

by Alasdair Mackintosh

Excerpt:

We propose a set of commonly-used concurrency classes, some of which may be implemented using efficient lock-free algorithms where appropriate. This paper describes the latch and barrier classes.

Latches are a thread co-ordination mechanism that allow one or more threads to block until an operation is completed. An individual latch is a single-use object; once the operation has been completed, it cannot be re-used.

Barriers are a thread co-ordination mechanism that allow multiple threads to block until an operation is completed. Unlike a latch, a barrier is re-usable; once the operation has been completed, the threads can re-use the same barrier. It is thus useful for managing repeated tasks handled by multiple threads.

A reference implementation of these two classes has been written.

N3816: Polymorphic Memory Resources, r1 -- Pablo Halpern

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

Date: 2013-10-13

Polymorphic Memory Resources - r1

by Pablo Halpern

Excerpt:

A significant impediment to effective memory management in C++ has been the inability to use allocators in non-generic contexts...

N3815: Enumerator List Property Queries -- Andrew Tomazos, Christian Käser

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

Date: 2013-10-03

Enumerator List Property Queries

by Andrew Tomazos, Christian Käser

Excerpt:

We propose to add three Property Queries [meta.unary.prop.query] to the Metaprogramming and Type Traits Standard Library that provide compile-time access to the enumerator-list of an enumeration type.

N3814: Call for Compile-Time Reflection Proposals -- Jeff Snyder, Chandler Carruth

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

Date: 2013-10-06

Call for Compile-Time Reflection Proposals

by Jeff Snyder, Chandler Carruth

Excerpt:

The reflection study group (SG7) of the C++ standards committee is soliciting proposals for features that add compile-time reflection capabilities to C++. Whilst all proposals regarding reflection in C++ will be considered, the group's current focus is on compile-time reflection. This is because the design of compile-time reflection features will likely influence the requirements for run-time reflection features.

N3810: Alternatives for Array Extensions -- Bjarne Stroustrup

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

Date: 2013-10-13

Alternatives for Array Extensions

by Bjarne Stroustrup

Excerpt:

The most important aspect of an “array alternative” is that it enables simple and efficient use of a run-time-specified amount of stack storage and provides an alternative to the traditional problems of “lost” size and “lost” type that make direct use of arrays error-prone.

Here, I will record some reflections based on the array/dynarray discussions at the Chicago meeting with some brief analysis of the alternatives as a start of a discussion. I consider a resolution urgently needed. We need arrays with run-time-specified bounds and safer access to such storage “yesterday.”