-
个人简介
生命与死亡都是可以搬运的。
看清事情的全貌,往往需要更高的维度。
// Default predicates for internal use -- C++ --
// Copyright (C) 2013-2014 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the // terms of the GNU General Public License as published by the // Free Software Foundation; either version 3, or (at your option) // any later version.
// This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details.
// Under Section 7 of GPL version 3, you are granted additional // permissions described in the GCC Runtime Library Exception, version // 3.1, as published by the Free Software Foundation.
// You should have received a copy of the GNU General Public License and // a copy of the GCC Runtime Library Exception along with this program; // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // http://www.gnu.org/licenses/.
/** @file predefined_ops.h
- This is an internal header file, included by other library headers.
- You should not attempt to use it directly. */
#ifndef _GLIBCXX_PREDEFINED_OPS_H #define _GLIBCXX_PREDEFINED_OPS_H 1
namespace __gnu_cxx { namespace __ops { struct _Iter_less_iter { template<typename _Iterator1, typename _Iterator2> bool operator()(_Iterator1 __it1, _Iterator2 __it2) const { return *__it1 < *__it2; } };
inline _Iter_less_iter __iter_less_iter() { return _Iter_less_iter(); }
struct _Iter_less_val { template<typename _Iterator, typename _Value> bool operator()(_Iterator __it, _Value& __val) const { return *__it < __val; } };
inline _Iter_less_val __iter_less_val() { return _Iter_less_val(); }
inline _Iter_less_val __iter_comp_val(_Iter_less_iter) { return _Iter_less_val(); }
struct _Val_less_iter { template<typename _Value, typename _Iterator> bool operator()(_Value& __val, _Iterator __it) const { return __val < *__it; } };
inline _Val_less_iter __val_less_iter() { return _Val_less_iter(); }
inline _Val_less_iter __val_comp_iter(_Iter_less_iter) { return _Val_less_iter(); }
struct _Iter_equal_to_iter { template<typename _Iterator1, typename _Iterator2> bool operator()(_Iterator1 __it1, _Iterator2 __it2) const { return *__it1 == *__it2; } };
inline _Iter_equal_to_iter __iter_equal_to_iter() { return _Iter_equal_to_iter(); }
struct _Iter_equal_to_val { template<typename _Iterator, typename _Value> bool operator()(_Iterator __it, _Value& __val) const { return *__it == __val; } };
inline _Iter_equal_to_val __iter_equal_to_val() { return _Iter_equal_to_val(); }
inline _Iter_equal_to_val __iter_comp_val(_Iter_equal_to_iter) { return _Iter_equal_to_val(); }
template struct _Iter_comp_iter { _Compare _M_comp;
_Iter_comp_iter(_Compare __comp) : _M_comp(__comp) { } template<typename _Iterator1, typename _Iterator2> bool operator()(_Iterator1 __it1, _Iterator2 __it2) { return bool(_M_comp(*__it1, *__it2)); } };
template inline _Iter_comp_iter<_Compare> __iter_comp_iter(_Compare __comp) { return _Iter_comp_iter<_Compare>(__comp); }
template struct _Iter_comp_val { _Compare _M_comp;
_Iter_comp_val(_Compare __comp) : _M_comp(__comp) { } template<typename _Iterator, typename _Value> bool operator()(_Iterator __it, _Value& __val) { return bool(_M_comp(*__it, __val)); } };
template inline _Iter_comp_val<_Compare> __iter_comp_val(_Compare __comp) { return _Iter_comp_val<_Compare>(__comp); }
template inline _Iter_comp_val<_Compare> __iter_comp_val(_Iter_comp_iter<_Compare> __comp) { return _Iter_comp_val<_Compare>(__comp._M_comp); }
template struct _Val_comp_iter { _Compare _M_comp;
_Val_comp_iter(_Compare __comp) : _M_comp(__comp) { } template<typename _Value, typename _Iterator> bool operator()(_Value& __val, _Iterator __it) { return bool(_M_comp(__val, *__it)); } };
template inline _Val_comp_iter<_Compare> __val_comp_iter(_Compare __comp) { return _Val_comp_iter<_Compare>(__comp); }
template inline _Val_comp_iter<_Compare> __val_comp_iter(_Iter_comp_iter<_Compare> __comp) { return _Val_comp_iter<_Compare>(__comp._M_comp); }
template struct _Iter_equals_val { _Value& _M_value;
_Iter_equals_val(_Value& __value) : _M_value(__value) { } template<typename _Iterator> bool operator()(_Iterator __it) { return *__it == _M_value; } };
template inline _Iter_equals_val<_Value> __iter_equals_val(_Value& __val) { return _Iter_equals_val<_Value>(__val); }
template struct _Iter_equals_iter { typename std::iterator_traits<_Iterator1>::reference _M_ref;
_Iter_equals_iter(_Iterator1 __it1) : _M_ref(*__it1) { } template<typename _Iterator2> bool operator()(_Iterator2 __it2) { return *__it2 == _M_ref; } };
template inline _Iter_equals_iter<_Iterator> __iter_comp_iter(_Iter_equal_to_iter, _Iterator __it) { return _Iter_equals_iter<_Iterator>(__it); }
template struct _Iter_pred { _Predicate _M_pred;
_Iter_pred(_Predicate __pred) : _M_pred(__pred) { } template<typename _Iterator> bool operator()(_Iterator __it) { return bool(_M_pred(*__it)); } };
template inline _Iter_pred<_Predicate> __pred_iter(_Predicate __pred) { return _Iter_pred<_Predicate>(__pred); }
template<typename _Compare, typename _Value> struct _Iter_comp_to_val { _Compare _M_comp; _Value& _M_value;
_Iter_comp_to_val(_Compare __comp, _Value& __value) : _M_comp(__comp), _M_value(__value) { } template<typename _Iterator> bool operator()(_Iterator __it) { return bool(_M_comp(*__it, _M_value)); } };
template<typename _Compare, typename _Value> _Iter_comp_to_val<_Compare, _Value> __iter_comp_val(_Compare __comp, _Value &__val) { return _Iter_comp_to_val<_Compare, _Value>(__comp, __val); }
template<typename _Compare, typename _Iterator1> struct _Iter_comp_to_iter { _Compare _M_comp; typename std::iterator_traits<_Iterator1>::reference _M_ref;
_Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1) : _M_comp(__comp), _M_ref(*__it1) { } template<typename _Iterator2> bool operator()(_Iterator2 __it2) { return bool(_M_comp(*__it2, _M_ref)); } };
template<typename _Compare, typename _Iterator> inline _Iter_comp_to_iter<_Compare, _Iterator> __iter_comp_iter(_Iter_comp_iter<_Compare> __comp, _Iterator __it) { return _Iter_comp_to_iter<_Compare, _Iterator>(__comp._M_comp, __it); }
template struct _Iter_negate { _Predicate _M_pred;
_Iter_negate(_Predicate __pred) : _M_pred(__pred) { } template<typename _Iterator> bool operator()(_Iterator __it) { return !bool(_M_pred(*__it)); } };
template inline _Iter_negate<_Predicate> __negate(_Iter_pred<_Predicate> __pred) { return _Iter_negate<_Predicate>(__pred._M_pred); }
} // namespace __ops } // namespace __gnu_cxx
#endif
-
通过的题目
- 104
- 106
- 108
- 109
- 110
- 122
- 124
- 137
- 142
- 143
- 149
- 192
- 193
- 297
- 391
- 420
- 468
- 518
- 554
- 584
- 676
- 677
- 699
- 775
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 894
- 895
- 896
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 912
- 914
- 915
- 917
- 919
- 921
- 924
- 925
- 926
- 928
- 931
- 932
- 933
- 935
- 937
- 941
- 944
- 946
- 947
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 963
- 964
- 966
- 967
- 970
- 972
- 975
- 977
- 978
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1002
- 1003
- 1004
- 1006
- 1007
- 1014
- 1016
- 1017
- 1018
- 1020
- 1023
- 1024
- 1025
- 1026
- 1030
- 1034
- 1035
- 1042
- 1043
- 1044
- 1049
- 1052
- 1071
- 1073
- 1078
- 1085
- 1091
- 1092
- 1095
- 1107
- 1115
- 1117
- 1128
- 1140
- 1191
- 1194
- 1219
- 1233
- 1283
- 1284
- 1295
- 1314
- 1325
- 1343
- 1500
- 1501
- 1639
- 1954
- 2720
- 2722
- 2723
- 2800
- 2843
- 2918
- 2919
- 2945
- 2948
- 2956
- 2957
- 2959
-
最近活动
-
最近编写的题解
题目标签
- 语言基础
- 94
- 循环语句
- 64
- 选择语句
- 39
- 语言入门
- 37
- 一维数组
- 27
- 搜索
- 22
- 其他
- 18
- 贪心
- 18
- 数据结构
- 16
- 字符串
- 13
- 竞赛
- 11
- 动态规划
- 9
- 字符数组
- 9
- NOIP
- 8
- 数学知识
- 8
- 输入输出
- 8
- 二维数组
- 8
- 位运算
- 6
- 递归
- 6
- DFS
- 6