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 thesamplealgorithm, 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_locationandpropagate_constused 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