"tests/vscode:/vscode.git/clone" did not exist on "468c0ca4b4ac4fe84b357cc22cd840550ea509e5"
  • pfeatherstone's avatar
    [INVOKE] C++11 backport of std::invoke, std::invoke_result, std:apply and... · f77189db
    pfeatherstone authored
    
    [INVOKE] C++11 backport of std::invoke, std::invoke_result, std:apply and std::make_from_tuple (#2450)
    
    * added backport of std::invoke, std::invoke_result and std::apply
    
    * added backport of std::invoke, std::invoke_result and std::apply
    
    * msvc doesn't like keyword 'not'
    
    * i think this fixes detection of invoke on MSVC
    
    * ok, i think detection of invoke stuff is fixed on windows
    
    * - just have dlib's own implementation and don't use standard library even if c++17 is enabled.
    - added tests for dlib::invoke_result_t
    
    * added docs
    
    * - added dlib::make_from_tuple
    - added tests + docs
    
    * - make sure you use the dlib:: namespace. Otherwise, when compiling with C++17, compiler might get confused
    - use remove_reference instead of decay. That's what the standard says to use
    
    * added dlib::is_invocable
    
    * - defined invoke_traits. This removes dupplicate code.
    - This makes absolutely no difference but is just a tiny bit nicer.
    
    * removed the test that could potentially fail with MSVC
    Co-authored-by: default avatarpfeatherstone <peter@me>
    f77189db
invoke.h 5.13 KB