003 File Manager
Current Path:
/usr/include/c++/v1/tr1
usr
/
include
/
c++
/
v1
/
tr1
/
📁
..
📄
__bit_reference
(51.94 KB)
📄
__bsd_locale_defaults.h
(2.06 KB)
📄
__bsd_locale_fallbacks.h
(3.94 KB)
📄
__config
(51.99 KB)
📄
__debug
(7.77 KB)
📄
__errc
(9.13 KB)
📄
__functional_03
(43.5 KB)
📄
__functional_base
(17.4 KB)
📄
__functional_base_03
(6.38 KB)
📄
__hash_table
(101.98 KB)
📄
__libcpp_version
(6 B)
📄
__locale
(48.08 KB)
📄
__mutex_base
(16.04 KB)
📄
__node_handle
(5.93 KB)
📄
__nullptr
(1.69 KB)
📄
__split_buffer
(21.9 KB)
📄
__sso_allocator
(2.49 KB)
📄
__std_stream
(10.32 KB)
📄
__string
(46.11 KB)
📄
__threading_support
(20.64 KB)
📄
__tree
(102.38 KB)
📄
__tuple
(20.19 KB)
📄
__undef_macros
(1.02 KB)
📄
algorithm
(199 KB)
📄
any
(18.58 KB)
📄
array
(20.44 KB)
📄
atomic
(96.81 KB)
📄
barrier
(9.98 KB)
📄
bit
(14.13 KB)
📄
bitset
(33 KB)
📄
cassert
(559 B)
📄
ccomplex
(640 B)
📄
cctype
(1.72 KB)
📄
cerrno
(669 B)
📄
cfenv
(1.56 KB)
📄
cfloat
(1.39 KB)
📄
charconv
(17.95 KB)
📄
chrono
(113.59 KB)
📄
cinttypes
(3.44 KB)
📄
ciso646
(595 B)
📄
climits
(907 B)
📄
clocale
(998 B)
📄
cmath
(16.71 KB)
📄
codecvt
(20.12 KB)
📄
compare
(30.14 KB)
📄
complex
(45.51 KB)
📄
complex.h
(739 B)
📄
concepts
(4.63 KB)
📄
condition_variable
(7.43 KB)
📄
csetjmp
(813 B)
📄
csignal
(964 B)
📄
cstdarg
(903 B)
📄
cstdbool
(721 B)
📄
cstddef
(5.29 KB)
📄
cstdint
(2.73 KB)
📄
cstdio
(4.31 KB)
📄
cstdlib
(4.69 KB)
📄
cstring
(2.49 KB)
📄
ctgmath
(650 B)
📄
ctime
(1.67 KB)
📄
ctype.h
(1.12 KB)
📄
cwchar
(6.14 KB)
📄
cwctype
(1.65 KB)
📄
deque
(106.34 KB)
📄
errno.h
(6.19 KB)
📄
exception
(9.25 KB)
📄
execution
(595 B)
📄
fenv.h
(1.82 KB)
📄
filesystem
(80.17 KB)
📄
float.h
(1.58 KB)
📄
forward_list
(61.11 KB)
📄
fstream
(53.05 KB)
📄
functional
(99.54 KB)
📄
future
(70.91 KB)
📄
initializer_list
(2.78 KB)
📄
inttypes.h
(3.8 KB)
📄
iomanip
(17.85 KB)
📄
ios
(24.99 KB)
📄
iosfwd
(8.27 KB)
📄
iostream
(1.36 KB)
📄
istream
(46.73 KB)
📄
iterator
(70.11 KB)
📄
latch
(2.35 KB)
📄
limits
(39.71 KB)
📄
limits.h
(1.44 KB)
📄
list
(78.48 KB)
📄
locale
(150.64 KB)
📄
locale.h
(776 B)
📄
map
(82.59 KB)
📄
math.h
(48.03 KB)
📄
memory
(160.89 KB)
📄
mutex
(17.25 KB)
📄
new
(13.79 KB)
📄
numbers
(6.74 KB)
📄
numeric
(20.08 KB)
📄
optional
(41.59 KB)
📄
ostream
(32.02 KB)
📄
queue
(27.47 KB)
📄
random
(221.29 KB)
📄
ratio
(16.04 KB)
📄
regex
(219.62 KB)
📄
scoped_allocator
(25.14 KB)
📄
semaphore
(6.52 KB)
📄
set
(55.98 KB)
📄
setjmp.h
(802 B)
📄
shared_mutex
(14.75 KB)
📄
span
(22.41 KB)
📄
sstream
(32.59 KB)
📄
stack
(9.86 KB)
📄
stdbool.h
(815 B)
📄
stddef.h
(1.08 KB)
📄
stdexcept
(7.66 KB)
📄
stdint.h
(2.27 KB)
📄
stdio.h
(3.44 KB)
📄
stdlib.h
(5.1 KB)
📄
streambuf
(14.18 KB)
📄
string
(163.38 KB)
📄
string.h
(4.58 KB)
📄
string_view
(33.74 KB)
📄
strstream
(10.88 KB)
📄
system_error
(13.88 KB)
📄
tgmath.h
(732 B)
📄
thread
(11.13 KB)
📄
tuple
(55.25 KB)
📄
type_traits
(147.84 KB)
📄
typeindex
(2.76 KB)
📄
typeinfo
(11.27 KB)
📄
unordered_map
(97.16 KB)
📄
unordered_set
(67.79 KB)
📄
utility
(48.28 KB)
📄
valarray
(131.97 KB)
📄
variant
(60.89 KB)
📄
vector
(109.43 KB)
📄
version
(14.98 KB)
📄
wchar.h
(8.24 KB)
📄
wctype.h
(1.52 KB)
Editing: __functional_base_03
// -*- C++ -*- //===----------------------------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef _LIBCPP_FUNCTIONAL_BASE_03 #define _LIBCPP_FUNCTIONAL_BASE_03 // manual variadic expansion for <functional> // __invoke template <class _Ret, class _T1, bool _IsFunc, bool _IsBase> struct __enable_invoke_imp; template <class _Ret, class _T1> struct __enable_invoke_imp<_Ret, _T1, true, true> { typedef _Ret _Bullet1; typedef _Bullet1 type; }; template <class _Ret, class _T1> struct __enable_invoke_imp<_Ret, _T1, true, false> { typedef _Ret _Bullet2; typedef _Bullet2 type; }; template <class _Ret, class _T1> struct __enable_invoke_imp<_Ret, _T1, false, true> { typedef typename add_lvalue_reference< typename __apply_cv<_T1, _Ret>::type >::type _Bullet3; typedef _Bullet3 type; }; template <class _Ret, class _T1> struct __enable_invoke_imp<_Ret, _T1, false, false> { typedef typename add_lvalue_reference< typename __apply_cv<decltype(*_VSTD::declval<_T1>()), _Ret>::type >::type _Bullet4; typedef _Bullet4 type; }; template <class _Ret, class _T1> struct __enable_invoke_imp<_Ret, _T1*, false, false> { typedef typename add_lvalue_reference< typename __apply_cv<_T1, _Ret>::type >::type _Bullet4; typedef _Bullet4 type; }; template <class _Fn, class _T1, class _Traits = __member_pointer_traits<_Fn>, class _Ret = typename _Traits::_ReturnType, class _Class = typename _Traits::_ClassType> struct __enable_invoke : __enable_invoke_imp< _Ret, _T1, is_member_function_pointer<_Fn>::value, is_base_of<_Class, typename remove_reference<_T1>::type>::value> { }; __nat __invoke(__any, ...); // first bullet template <class _Fn, class _T1> inline _LIBCPP_INLINE_VISIBILITY typename __enable_invoke<_Fn, _T1>::_Bullet1 __invoke(_Fn __f, _T1& __t1) { return (__t1.*__f)(); } template <class _Fn, class _T1, class _A0> inline _LIBCPP_INLINE_VISIBILITY typename __enable_invoke<_Fn, _T1>::_Bullet1 __invoke(_Fn __f, _T1& __t1, _A0& __a0) { return (__t1.*__f)(__a0); } template <class _Fn, class _T1, class _A0, class _A1> inline _LIBCPP_INLINE_VISIBILITY typename __enable_invoke<_Fn, _T1>::_Bullet1 __invoke(_Fn __f, _T1& __t1, _A0& __a0, _A1& __a1) { return (__t1.*__f)(__a0, __a1); } template <class _Fn, class _T1, class _A0, class _A1, class _A2> inline _LIBCPP_INLINE_VISIBILITY typename __enable_invoke<_Fn, _T1>::_Bullet1 __invoke(_Fn __f, _T1& __t1, _A0& __a0, _A1& __a1, _A2& __a2) { return (__t1.*__f)(__a0, __a1, __a2); } template <class _Fn, class _T1> inline _LIBCPP_INLINE_VISIBILITY typename __enable_invoke<_Fn, _T1>::_Bullet2 __invoke(_Fn __f, _T1& __t1) { return ((*__t1).*__f)(); } template <class _Fn, class _T1, class _A0> inline _LIBCPP_INLINE_VISIBILITY typename __enable_invoke<_Fn, _T1>::_Bullet2 __invoke(_Fn __f, _T1& __t1, _A0& __a0) { return ((*__t1).*__f)(__a0); } template <class _Fn, class _T1, class _A0, class _A1> inline _LIBCPP_INLINE_VISIBILITY typename __enable_invoke<_Fn, _T1>::_Bullet2 __invoke(_Fn __f, _T1& __t1, _A0& __a0, _A1& __a1) { return ((*__t1).*__f)(__a0, __a1); } template <class _Fn, class _T1, class _A0, class _A1, class _A2> inline _LIBCPP_INLINE_VISIBILITY typename __enable_invoke<_Fn, _T1>::_Bullet2 __invoke(_Fn __f, _T1& __t1, _A0& __a0, _A1& __a1, _A2& __a2) { return ((*__t1).*__f)(__a0, __a1, __a2); } template <class _Fn, class _T1> inline _LIBCPP_INLINE_VISIBILITY typename __enable_invoke<_Fn, _T1>::_Bullet3 __invoke(_Fn __f, _T1& __t1) { return __t1.*__f; } template <class _Fn, class _T1> inline _LIBCPP_INLINE_VISIBILITY typename __enable_invoke<_Fn, _T1>::_Bullet4 __invoke(_Fn __f, _T1& __t1) { return (*__t1).*__f; } // fifth bullet template <class _Fp> inline _LIBCPP_INLINE_VISIBILITY decltype(_VSTD::declval<_Fp&>()()) __invoke(_Fp& __f) { return __f(); } template <class _Fp, class _A0> inline _LIBCPP_INLINE_VISIBILITY decltype(_VSTD::declval<_Fp&>()(_VSTD::declval<_A0&>())) __invoke(_Fp& __f, _A0& __a0) { return __f(__a0); } template <class _Fp, class _A0, class _A1> inline _LIBCPP_INLINE_VISIBILITY decltype(_VSTD::declval<_Fp&>()(_VSTD::declval<_A0&>(), _VSTD::declval<_A1&>())) __invoke(_Fp& __f, _A0& __a0, _A1& __a1) { return __f(__a0, __a1); } template <class _Fp, class _A0, class _A1, class _A2> inline _LIBCPP_INLINE_VISIBILITY decltype(_VSTD::declval<_Fp&>()(_VSTD::declval<_A0&>(), _VSTD::declval<_A1&>(), _VSTD::declval<_A2&>())) __invoke(_Fp& __f, _A0& __a0, _A1& __a1, _A2& __a2) { return __f(__a0, __a1, __a2); } template <class _Fp, bool = __has_result_type<__weak_result_type<_Fp> >::value> struct __invoke_return { typedef typename __weak_result_type<_Fp>::result_type type; }; template <class _Fp> struct __invoke_return<_Fp, false> { typedef decltype(__invoke(_VSTD::declval<_Fp&>())) type; }; template <class _Tp, class _A0> struct __invoke_return0 { typedef decltype(__invoke(_VSTD::declval<_Tp&>(), _VSTD::declval<_A0&>())) type; }; template <class _Rp, class _Tp, class _A0> struct __invoke_return0<_Rp _Tp::*, _A0> { typedef typename __enable_invoke<_Rp _Tp::*, _A0>::type type; }; template <class _Tp, class _A0, class _A1> struct __invoke_return1 { typedef decltype(__invoke(_VSTD::declval<_Tp&>(), _VSTD::declval<_A0&>(), _VSTD::declval<_A1&>())) type; }; template <class _Rp, class _Class, class _A0, class _A1> struct __invoke_return1<_Rp _Class::*, _A0, _A1> { typedef typename __enable_invoke<_Rp _Class::*, _A0>::type type; }; template <class _Tp, class _A0, class _A1, class _A2> struct __invoke_return2 { typedef decltype(__invoke(_VSTD::declval<_Tp&>(), _VSTD::declval<_A0&>(), _VSTD::declval<_A1&>(), _VSTD::declval<_A2&>())) type; }; template <class _Ret, class _Class, class _A0, class _A1, class _A2> struct __invoke_return2<_Ret _Class::*, _A0, _A1, _A2> { typedef typename __enable_invoke<_Ret _Class::*, _A0>::type type; }; #endif // _LIBCPP_FUNCTIONAL_BASE_03
Upload File
Create Folder