N4759 Editor’s Report: C++ Extensions for Library Fundamentals, Version 3
    
    Acknowledgements
    Thanks to Tim Song for pointing out editorial issues.
    Special thanks to Geoffrey Romer for his stewardship of the
      previous version of this Technical Specification.
    New papers
    
      - N4758
        is the current working draft and the prospective initial working paper for the third
        version of the Library Fundamentals Technical Specification.
 
      - N4759
        is this Editor’s Report.
 
    
    
    Change history and motions
    The previous version of this Technical Specification, C++ Extensions for Library
      Fundamentals, Version 2 (LFTSv2), was published in 2017;
      N4617
      is its DTS document. The current working draft, N4758, is the candidate to become the
      initial working paper for the new Version 3 of the TS (LFTSv3).
    There has been only one motion since the publication of the LFTSv2, which rebases the
      document from C++14 to C++17 and thereby removes all parts that have already been merged
      into the C++17 International Standard:
    
      - Jacksonville 2018, LWG Motion 6:
      Move to direct the Convener to request a New Work Item for a Technical Specification on
      “C++ Extensions for Library Fundamentals, Version 3” and create a working draft
      with P0996R1
      modifying Library Fundamentals Version 2 N4600.
      This motion has been applied with changes: P0996R1 asked for the removal of all
      overloads of the sample algorithm, but only one of the overloads has been
      merged into C++17. The other overload is retained in the LFTSv3 working draft. 
    
    Editorial changes
    
      - Clause [memory] has been reordered so that [memory.observer.ptr] immediately
        follows the synopsis [header.memory.synop] in which the feature is first declared.
 
      - Classes 
source_location and propagate_const used to
        be defined in their header synopsis. This has been changed so that they are merely
        declared in the synopsis, but defined separately as part of their detailed specification. 
      - Further to the above, subclauses of [utility] have been reorganized slightly
        to remove hanging paragraphs from the specification of 
propagate_const.
        The final document will need to avoid hanging paragraphs entirely, and there will be further
        reorganization in the future. 
    
    Commit history
    From the draft sources on GitHub.
    commit 64392fee2e511870fca3fe09381914b3e7bf0660 (HEAD -> v3, origin/v3)
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Mon Jun 25 14:28:41 2018 +0100
    [utility] Add a dedicated subclause for propagate_const
    commit d1975ddd9d86e899602ee44b26aaaffc1e3e828c
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Mon Jun 25 14:19:33 2018 +0100
    [func,futures] Remove obsolete editor's notes.
    
    The underlying issues have already been incorporated into C++17.
    commit e55344b539581ad161cf98aba21e045c0c2e69ce
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Mon Jun 25 14:07:29 2018 +0100
    [algorithms, general.feature.test] Restore the one overload of "sample" that has not been merged into the IS (#74)
    commit 587379108d73ae79ff5d613e12e697f0f3775e91
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Wed Jun 20 12:13:07 2018 +0100
    [utilities] Reorganize clause
    
    * Move propogate_const into "Utility components".
    
    * Reorganise propagate_const to separate the header synopsis
      from the class definition, and to use the new outline style
      used in the IS that does not have hanging paragraphs.
    commit 27c7b093ad8fe55b43a4aae2e71d7b8328a7ea1b
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Wed Jun 20 01:34:31 2018 +0100
    [reflection] Separate source_location header synopsis from class definition
    commit 05d43506de5cdb723d461303efa05f854f86a8b7
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Wed Jun 20 01:22:42 2018 +0100
    Update namespaces from v2 to v3 and use C++17-style multiple-namespace syntax where possible
    commit effc031cee33aa9be9112cae7d1b81e7c4d5e83b
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Wed Jun 20 01:08:06 2018 +0100
    [memory] Move [memory.observer.ptr] subclause up so it is contiguous with the header synopsis that references it
    commit 40bfeaf8d07afe05a3851f5ecf9a548825bcd427
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Wed Jun 20 00:26:27 2018 +0100
    P0996R1 Rebase Library Fundamentals TS on C++17
    
    Excludes namespace renaming, subclause moves and synopsis splits.
    commit 04ac52895e3902e5e674790fa17031eca61c8a74
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Tue Jun 19 23:54:33 2018 +0100
    [main] Update front matter for LFTSv3