FastLED 3.9.15
Loading...
Searching...
No Matches
functional.h File Reference
#include "fl/type_traits.h"
#include "fl/utility.h"
+ Include dependency graph for functional.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  fl::detail::is_member_data_pointer< T >
 
struct  fl::detail::is_member_data_pointer< T C::* >
 
struct  fl::detail::is_pointer_like< T >
 
struct  fl::detail::is_pointer_like< fl::Ptr< T > >
 
struct  fl::detail::is_pointer_like< fl::unique_ptr< T, Deleter > >
 
struct  fl::detail::is_pointer_like< T * >
 
struct  fl::detail::use_pointer_syntax< T >
 

Namespaces

namespace  fl
 IMPORTANT!
 
namespace  fl::detail
 

Functions

template<typename F, typename... Args>
auto fl::invoke (F &&f, Args &&... args) -> enable_if_t<!is_member_function_pointer< typename remove_reference< F >::type >::value &&!detail::is_member_data_pointer< typename remove_reference< F >::type >::value, decltype(fl::forward< F >(f)(fl::forward< Args >(args)...))>
 
template<typename F, typename T1>
auto fl::invoke (F &&f, T1 &&t1) -> enable_if_t< detail::is_member_data_pointer< typename remove_reference< F >::type >::value &&!detail::use_pointer_syntax< T1 >::value, decltype(fl::forward< T1 >(t1).*f)>
 
template<typename F, typename T1, typename... Args>
auto fl::invoke (F &&f, T1 &&t1, Args &&... args) -> enable_if_t< is_member_function_pointer< typename remove_reference< F >::type >::value &&!detail::use_pointer_syntax< T1 >::value, decltype((fl::forward< T1 >(t1).*f)(fl::forward< Args >(args)...))>