v8toolkit  0.0.1
Utility library for embedding V8 Javascript engine in a c++ program
Classes | Typedefs | Functions
func::detail Namespace Reference

Classes

struct  empty_struct
 
struct  function_manager
 
struct  function_manager_inplace_specialization
 
struct  function_manager_inplace_specialization< T, Allocator, typename std::enable_if<!is_inplace_allocated< T, Allocator >::value >::type >
 
struct  functor_padding
 
struct  functor_type
 
struct  is_inplace_allocated
 
struct  is_valid_function_argument
 
struct  is_valid_function_argument< function< Result(Arguments...)>, Result(Arguments...)>
 
struct  is_valid_function_argument< T, Result(Arguments...)>
 
struct  manager_storage_type
 
struct  typedeffer
 
struct  typedeffer< Result, Argument >
 
struct  typedeffer< Result, First_Argument, Second_Argument >
 

Typedefs

typedef const function_managermanager_type
 

Functions

template<typename Result , typename... Arguments>
Result empty_call (const functor_padding &, Arguments...)
 
template<typename T >
to_functor (T &&func)
 
template<typename Result , typename Class , typename... Arguments>
auto to_functor (Result(Class::*func)(Arguments...)) -> decltype(std::mem_fn(func))
 
template<typename T >
bool is_null (const T &)
 
template<typename Result , typename... Arguments>
bool is_null (Result(*const &function_pointer)(Arguments...))
 
template<typename Result , typename Class , typename... Arguments>
bool is_null (Result(Class::*const &function_pointer)(Arguments...))
 
template<typename T , typename Allocator >
static const function_managerget_default_manager ()
 
template<typename T , typename Allocator >
static void create_manager (manager_storage_type &storage, Allocator &&allocator)
 

Class Documentation

struct func::detail::empty_struct

Definition at line 61 of file stdfunctionreplacement.h.

struct func::detail::functor_type

template<typename T>
struct func::detail::functor_type< T >

Definition at line 104 of file stdfunctionreplacement.h.

Collaboration diagram for func::detail::functor_type< T >:
Class Members
decltype(to_functor(declval< T >
())) typedef
type
struct func::detail::typedeffer

template<typename Result, typename...>
struct func::detail::typedeffer< Result,... >

Definition at line 351 of file stdfunctionreplacement.h.

Class Members
typedef Result result_type
struct func::detail::typedeffer< Result, Argument >

template<typename Result, typename Argument>
struct func::detail::typedeffer< Result, Argument >

Definition at line 356 of file stdfunctionreplacement.h.

Class Members
typedef Result result_type
typedef Argument argument_type
struct func::detail::typedeffer< Result, First_Argument, Second_Argument >

template<typename Result, typename First_Argument, typename Second_Argument>
struct func::detail::typedeffer< Result, First_Argument, Second_Argument >

Definition at line 362 of file stdfunctionreplacement.h.

Class Members
typedef Result result_type
typedef First_Argument first_argument_type
typedef Second_Argument second_argument_type

Typedef Documentation

Definition at line 158 of file stdfunctionreplacement.h.

Function Documentation

template<typename Result , typename... Arguments>
Result func::detail::empty_call ( const functor_padding ,
Arguments...   
)

Definition at line 67 of file stdfunctionreplacement.h.

Referenced by func::function< Result(Arguments...)>::function(), and func::function< Result(Arguments...)>::initialize_empty().

Here is the caller graph for this function:

template<typename T >
T func::detail::to_functor ( T &&  func)

Definition at line 88 of file stdfunctionreplacement.h.

References FUNC_FORWARD.

Referenced by func::function< Result(Arguments...)>::function().

Here is the caller graph for this function:

template<typename Result , typename Class , typename... Arguments>
auto func::detail::to_functor ( Result(Class::*)(Arguments...)  func) -> decltype(std::mem_fn(func))

Definition at line 93 of file stdfunctionreplacement.h.

template<typename T >
bool func::detail::is_null ( const T &  )

Definition at line 110 of file stdfunctionreplacement.h.

Referenced by func::function< Result(Arguments...)>::function().

Here is the caller graph for this function:

template<typename Result , typename... Arguments>
bool func::detail::is_null ( Result(*&)(Arguments...)  function_pointer)

Definition at line 115 of file stdfunctionreplacement.h.

template<typename Result , typename Class , typename... Arguments>
bool func::detail::is_null ( Result(Class::*&)(Arguments...)  function_pointer)

Definition at line 120 of file stdfunctionreplacement.h.

template<typename T , typename Allocator >
static const function_manager & func::detail::get_default_manager ( )
inlinestatic
template<typename T , typename Allocator >
static void func::detail::create_manager ( manager_storage_type storage,
Allocator &&  allocator 
)
static

Definition at line 255 of file stdfunctionreplacement.h.

References FUNC_MOVE, func::detail::manager_storage_type::get_allocator(), and func::detail::manager_storage_type::manager.

Here is the call graph for this function: