QuickCppLib 0.10
Eliminate all the tedious hassle when making state-of-the-art C++ 14 - 23 libraries!
Loading...
Searching...
No Matches
scope.hpp File Reference
#include "config.hpp"
#include <type_traits>
#include <utility>
#include <exception>

Namespaces

namespace  quickcpplib
 The QuickCppLib namespace.
 
namespace  quickcpplib::_xxx
 Per commit unique namespace to prevent different git submodule versions clashing.
 
namespace  quickcpplib::_xxx::scope
 
namespace  quickcpplib::_xxx::scope::detail
 

Macros

#define QUICKCPPLIB_USE_STD_SCOPE   0
 

Typedefs

template<class T >
using quickcpplib::_xxx::scope::scope_exit = detail::scope_impl< T, detail::scope_impl_kind::exit >
 
template<class T >
using quickcpplib::_xxx::scope::scope_fail = detail::scope_impl< T, detail::scope_impl_kind::fail >
 
template<class T >
using quickcpplib::_xxx::scope::scope_success = detail::scope_impl< T, detail::scope_impl_kind::success >
 

Enumerations

enum class  quickcpplib::_xxx::scope::detail::scope_impl_kind { quickcpplib::_xxx::scope::detail::exit , quickcpplib::_xxx::scope::detail::fail , quickcpplib::_xxx::scope::detail::success }
 

Functions

template<class T , bool v = noexcept(std::declval<T>()())>
constexpr bool quickcpplib::_xxx::scope::detail::_is_nothrow_invocable (int) noexcept
 
template<class T >
constexpr bool quickcpplib::_xxx::scope::detail::_is_nothrow_invocable (...) noexcept
 
template<class T >
constexpr bool quickcpplib::_xxx::scope::detail::is_nothrow_invocable () noexcept
 
template<class T , typename = decltype(std::declval<T>()()), typename std::enable_if< detail::is_nothrow_invocable< T >(), bool >::type = true>
constexpr auto quickcpplib::_xxx::scope::make_scope_exit (T &&v)
 
template<class T , typename = decltype(std::declval<T>()()), typename std::enable_if< detail::is_nothrow_invocable< T >(), bool >::type = true>
constexpr auto quickcpplib::_xxx::scope::make_scope_fail (T &&v)
 
template<class T , typename = decltype(std::declval<T>()())>
constexpr auto quickcpplib::_xxx::scope::make_scope_success (T &&v)
 

Macro Definition Documentation

◆ QUICKCPPLIB_USE_STD_SCOPE

#define QUICKCPPLIB_USE_STD_SCOPE   0