Crow  1.0
A C++ microframework for the web
crow::detail Namespace Reference

Namespaces

 routing_handler_call_helper
 

Classes

struct  check_after_handle_arity_3
 
struct  check_after_handle_arity_3_const
 
struct  check_before_handle_arity_3
 
struct  check_before_handle_arity_3_const
 
struct  check_global_call_false
 
struct  context
 
struct  handler_call_bridge
 
struct  handler_middleware_wrapper
 
struct  is_after_handle_arity_3_impl
 
struct  is_before_handle_arity_3_impl
 
struct  middleware_call_criteria_only_global
 
struct  partial_context
 
struct  partial_context<>
 
class  task_timer
 A class for scheduling functions to be called after a specific amount of ticks. A tick is equal to 1 second. More...
 

Functions

template<typename MW , typename Context , typename ParentContext >
std::enable_if<!is_before_handle_arity_3_impl< MW >::value >::type before_handler_call (MW &mw, request &req, response &res, Context &ctx, ParentContext &)
 
template<typename MW , typename Context , typename ParentContext >
std::enable_if< is_before_handle_arity_3_impl< MW >::value >::type before_handler_call (MW &mw, request &req, response &res, Context &ctx, ParentContext &)
 
template<typename MW , typename Context , typename ParentContext >
std::enable_if<!is_after_handle_arity_3_impl< MW >::value >::type after_handler_call (MW &mw, request &req, response &res, Context &ctx, ParentContext &)
 
template<typename MW , typename Context , typename ParentContext >
std::enable_if< is_after_handle_arity_3_impl< MW >::value >::type after_handler_call (MW &mw, request &req, response &res, Context &ctx, ParentContext &)
 
template<template< typename QueryMW > class CallCriteria, int N, typename Context , typename Container >
std::enable_if<(N< std::tuple_size< typename std::remove_reference< Container >::type >::value), bool >::type middleware_call_helper (Container &middlewares, request &req, response &res, Context &ctx)
 
template<template< typename QueryMW > class CallCriteria, int N, typename Context , typename Container >
std::enable_if<(N >=std::tuple_size< typename std::remove_reference< Container >::type >::value), bool >::type middleware_call_helper (Container &, request &, response &, Context &)
 
template<template< typename QueryMW > class CallCriteria, int N, typename Context , typename Container >
std::enable_if<(N< 0)>::type after_handlers_call_helper (Container &, Context &, request &, response &)
 
template<template< typename QueryMW > class CallCriteria, int N, typename Context , typename Container >
std::enable_if<(N==0)>::type after_handlers_call_helper (Container &middlewares, Context &ctx, request &req, response &res)
 
template<template< typename QueryMW > class CallCriteria, int N, typename Context , typename Container >
std::enable_if<(N > 0)>::type after_handlers_call_helper (Container &middlewares, Context &ctx, request &req, response &res)
 
template<typename F , typename... Args>
std::enable_if< black_magic::is_callable< F, const crow::request, crow::response &, Args... >::value >::type wrapped_handler_call (crow::request &req, crow::response &res, const F &f, Args &&... args)
 
template<typename F , typename... Args>
std::enable_if< black_magic::is_callable< F, crow::request &, crow::response &, Args... >::value &&!black_magic::is_callable< F, const crow::request, crow::response &, Args... >::value >::type wrapped_handler_call (crow::request &req, crow::response &res, const F &f, Args &&... args)
 
template<typename F , typename... Args>
std::enable_if< black_magic::is_callable< F, crow::response &, Args... >::value >::type wrapped_handler_call (crow::request &, crow::response &res, const F &f, Args &&... args)
 
template<typename F , typename... Args>
std::enable_if< black_magic::is_callable< F, crow::request, Args... >::value >::type wrapped_handler_call (crow::request &req, crow::response &res, const F &f, Args &&... args)
 
template<typename F , typename... Args>
std::enable_if< black_magic::is_callable< F, Args... >::value >::type wrapped_handler_call (crow::request &, crow::response &res, const F &f, Args &&... args)
 

Function Documentation

◆ before_handler_call() [1/2]

template<typename MW , typename Context , typename ParentContext >
std::enable_if<!is_before_handle_arity_3_impl<MW>::value>::type crow::detail::before_handler_call ( MW &  mw,
request req,
response res,
Context &  ctx,
ParentContext &   
)

◆ before_handler_call() [2/2]

template<typename MW , typename Context , typename ParentContext >
std::enable_if<is_before_handle_arity_3_impl<MW>::value>::type crow::detail::before_handler_call ( MW &  mw,
request req,
response res,
Context &  ctx,
ParentContext &   
)

◆ after_handler_call() [1/2]

template<typename MW , typename Context , typename ParentContext >
std::enable_if<!is_after_handle_arity_3_impl<MW>::value>::type crow::detail::after_handler_call ( MW &  mw,
request req,
response res,
Context &  ctx,
ParentContext &   
)

◆ after_handler_call() [2/2]

template<typename MW , typename Context , typename ParentContext >
std::enable_if<is_after_handle_arity_3_impl<MW>::value>::type crow::detail::after_handler_call ( MW &  mw,
request req,
response res,
Context &  ctx,
ParentContext &   
)

◆ middleware_call_helper() [1/2]

template<template< typename QueryMW > class CallCriteria, int N, typename Context , typename Container >
std::enable_if<(N < std::tuple_size<typename std::remove_reference<Container>::type>::value), bool>::type crow::detail::middleware_call_helper ( Container &  middlewares,
request req,
response res,
Context &  ctx 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ middleware_call_helper() [2/2]

template<template< typename QueryMW > class CallCriteria, int N, typename Context , typename Container >
std::enable_if<(N >= std::tuple_size<typename std::remove_reference<Container>::type>::value), bool>::type crow::detail::middleware_call_helper ( Container &  ,
request ,
response ,
Context &   
)

◆ after_handlers_call_helper() [1/3]

template<template< typename QueryMW > class CallCriteria, int N, typename Context , typename Container >
std::enable_if<(N < 0)>::type crow::detail::after_handlers_call_helper ( Container &  ,
Context &  ,
request ,
response  
)
Here is the caller graph for this function:

◆ after_handlers_call_helper() [2/3]

template<template< typename QueryMW > class CallCriteria, int N, typename Context , typename Container >
std::enable_if<(N == 0)>::type crow::detail::after_handlers_call_helper ( Container &  middlewares,
Context &  ctx,
request req,
response res 
)

◆ after_handlers_call_helper() [3/3]

template<template< typename QueryMW > class CallCriteria, int N, typename Context , typename Container >
std::enable_if<(N > 0)>::type crow::detail::after_handlers_call_helper ( Container &  middlewares,
Context &  ctx,
request req,
response res 
)
Here is the call graph for this function:

◆ wrapped_handler_call() [1/5]

template<typename F , typename... Args>
std::enable_if<black_magic::is_callable<F, const crow::request, crow::response&, Args...>::value>::type crow::detail::wrapped_handler_call ( crow::request req,
crow::response res,
const F &  f,
Args &&...  args 
)
Here is the caller graph for this function:

◆ wrapped_handler_call() [2/5]

template<typename F , typename... Args>
std::enable_if<black_magic::is_callable<F, crow::request&, crow::response&, Args...>::value && !black_magic::is_callable<F, const crow::request, crow::response&, Args...>::value>::type crow::detail::wrapped_handler_call ( crow::request req,
crow::response res,
const F &  f,
Args &&...  args 
)

◆ wrapped_handler_call() [3/5]

template<typename F , typename... Args>
std::enable_if<black_magic::is_callable<F, crow::response&, Args...>::value>::type crow::detail::wrapped_handler_call ( crow::request ,
crow::response res,
const F &  f,
Args &&...  args 
)

◆ wrapped_handler_call() [4/5]

template<typename F , typename... Args>
std::enable_if<black_magic::is_callable<F, crow::request, Args...>::value>::type crow::detail::wrapped_handler_call ( crow::request req,
crow::response res,
const F &  f,
Args &&...  args 
)
Here is the call graph for this function:

◆ wrapped_handler_call() [5/5]

template<typename F , typename... Args>
std::enable_if<black_magic::is_callable<F, Args...>::value>::type crow::detail::wrapped_handler_call ( crow::request ,
crow::response res,
const F &  f,
Args &&...  args 
)
Here is the call graph for this function: