#include <lexy/_detail/config.hpp>
#include <lexy/_detail/detect.hpp>
#include <lexy/_detail/invoke.hpp>
Go to the source code of this file.
Classes | |
struct | lexy::_fn_holder< Fn > |
struct | lexy::_overloaded< Fns > |
Namespaces | |
lexy | |
Typedefs | |
template<typename T > | |
using | lexy::_detect_callback = typename T::return_type |
template<typename T , typename... Args> | |
using | lexy::_detect_callback_for = decltype(LEXY_DECLVAL(const T)(LEXY_DECLVAL(Args)...)) |
template<typename T , typename State > | |
using | lexy::_detect_callback_state = decltype(LEXY_DECLVAL(const T)[LEXY_DECLVAL(State &)]) |
template<typename T , typename State , typename... Args> | |
using | lexy::_detect_callback_with_state_for = decltype(LEXY_DECLVAL(const T)[LEXY_DECLVAL(State &)](LEXY_DECLVAL(Args)...)) |
template<typename T , typename... Args> | |
using | lexy::_detect_sink = decltype(LEXY_DECLVAL(const T).sink(LEXY_DECLVAL(Args)...).finish()) |
template<typename T , typename... Args> | |
using | lexy::_detect_sink_callback_for = decltype(LEXY_DECLVAL(T &)(LEXY_DECLVAL(Args)...)) |
template<typename Fn > | |
using | lexy::_fn_as_base = std::conditional_t< std::is_class_v< Fn >, Fn, _fn_holder< Fn > > |
template<typename Sink , typename... Args> | |
using | lexy::sink_callback = decltype(LEXY_DECLVAL(Sink).sink(LEXY_DECLVAL(Args)...)) |
Returns the type of the .sink() function. More... | |
Functions | |
template<typename... Op> | |
constexpr auto | lexy::_make_overloaded (Op &&... op) |
Variables | |
template<typename T > | |
constexpr bool | lexy::is_callback = _detail::is_detected<_detect_callback, T> |
template<typename T , typename... Args> | |
constexpr bool | lexy::is_callback_for = _detail::is_detected<_detect_callback_for, std::decay_t<T>, Args...> |
template<typename T , typename State > | |
constexpr bool | lexy::is_callback_state = _detail::is_detected<_detect_callback_state, T, std::decay_t<State>> |
template<typename T , typename State , typename... Args> | |
constexpr bool | lexy::is_callback_with_state_for = _detail::is_detected<_detect_callback_with_state_for, std::decay_t<T>, State, Args...> |
template<typename T , typename... Args> | |
constexpr bool | lexy::is_sink = _detail::is_detected<_detect_sink, T, Args...> |
template<typename T , typename... Args> | |
constexpr bool | lexy::is_sink_callback_for = _detail::is_detected<_detect_sink_callback_for, std::decay_t<T>, Args...> |