-
个人简介
生命与死亡都是可以搬运的。
看清事情的全貌,往往需要更高的维度。 // 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<typename _Compare> 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<typename _Compare> inline _Iter_comp_iter<_Compare> __iter_comp_iter(_Compare __comp) { return _Iter_comp_iter<_Compare>(__comp); }
template<typename _Compare> 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<typename _Compare> inline _Iter_comp_val<_Compare> __iter_comp_val(_Compare __comp) { return _Iter_comp_val<_Compare>(__comp); }
template<typename _Compare> inline _Iter_comp_val<_Compare> __iter_comp_val(_Iter_comp_iter<_Compare> __comp) { return _Iter_comp_val<_Compare>(__comp._M_comp); }
template<typename _Compare> 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<typename _Compare> inline _Val_comp_iter<_Compare> __val_comp_iter(_Compare __comp) { return _Val_comp_iter<_Compare>(__comp); }
template<typename _Compare> inline _Val_comp_iter<_Compare> __val_comp_iter(_Iter_comp_iter<_Compare> __comp) { return _Val_comp_iter<_Compare>(__comp._M_comp); }
template<typename _Value> 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<typename _Value> inline _Iter_equals_val<_Value> __iter_equals_val(_Value& __val) { return _Iter_equals_val<_Value>(__val); }
template<typename _Iterator1> 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<typename _Iterator> inline _Iter_equals_iter<_Iterator> __iter_comp_iter(_Iter_equal_to_iter, _Iterator __it) { return _Iter_equals_iter<_Iterator>(__it); }
template<typename _Predicate> 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<typename _Predicate> 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<typename _Predicate> 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<typename _Predicate> inline _Iter_negate<_Predicate> __negate(_Iter_pred<_Predicate> __pred) { return _Iter_negate<_Predicate>(__pred._M_pred); }
} // namespace __ops } // namespace __gnu_cxx
#endif
-
通过的题目
- P1
- P2
- P3
- P5
- P6
- P7
- P8
- P10
- P11
- P12
- P13
- P14
- P15
- P16
- P17
- P18
- P19
- P20
- P21
- P22
- P23
- P24
- P25
- P26
- P27
- P28
- P29
- P30
- P31
- P32
- P33
- P34
- P35
- P36
- P37
- P38
- P39
- P40
- P41
- P42
- P43
- P45
- P46
- P47
- P48
- P49
- P50
- P52
- P53
- P54
- P55
- P56
- P57
- P58
- P60
- P61
- P62
- P63
- P65
- P68
- P69
- P70
- P72
- P73
- P75
- P76
- P77
- P78
- P80
- P83
- P84
- P85
- P87
- P88
- P91
- P92
- P95
- P98
- P99
- P102
- P104
- P106
- P108
- P109
- P110
- P122
- P124
- P137
- P142
- P143
- P149
- P192
- P193
- P297
- P391
- P420
- P468
- P518
- P554
- P584
- P677
- P699
- P775
- P809
- P810
- P811
- P812
- P813
- P814
- P815
- P816
- P817
- P818
- P819
- P820
- P821
- P822
- P823
- P824
- P825
- P826
- P827
- P828
- P829
- P830
- P831
- P832
- P833
- P834
- P835
- P836
- P837
- P838
- P839
- P840
- P841
- P842
- P843
- P844
- P845
- P846
- P847
- P848
- P849
- P850
- P851
- P852
- P853
- P854
- P855
- P856
- P857
- P858
- P859
- P860
- P861
- P862
- P863
- P864
- P865
- P866
- P867
- P868
- P869
- P870
- P871
- P872
- P873
- P874
- P875
- P876
- P877
- P878
- P879
- P880
- P881
- P882
- P883
- P884
- P885
- P886
- P887
- P888
- P889
- P890
- P891
- P894
- P895
- P896
- P898
- P899
- P900
- P901
- P902
- P903
- P904
- P905
- P906
- P907
- P908
- P909
- P910
- P912
- P914
- P915
- P917
- P919
- P921
- P924
- P925
- P926
- P928
- P931
- P932
- P933
- P935
- P937
- P941
- P944
- P946
- P947
- P951
- P952
- P953
- P954
- P955
- P956
- P957
- P958
- P959
- P960
- P963
- P964
- P966
- P967
- P970
- P972
- P975
- P977
- P978
- P980
- P981
- P982
- P983
- P984
- P985
- P986
- P987
- P988
- P989
- P990
- P991
- P993
- P994
- P995
- P996
- P997
- P998
- P999
- P1000
- P1002
- P1003
- P1004
- P1006
- P1007
- P1014
- P1016
- P1017
- P1018
- P1020
- P1023
- P1024
- P1025
- P1026
- P1030
- P1034
- P1035
- P1042
- P1043
- P1044
- P1049
- P1052
- P1071
- P1073
- P1078
- P1085
- P1091
- P1092
- P1095
- P1107
- P1115
- P1117
- P1128
- P1140
- P1191
- P1194
- P1219
- P1233
- P1283
- P1284
- P1314
- P1325
- P1343
- P1500
- P1501
- P1639
- P1954
- P2720
- P2722
- P2723
- P2800
- P2843
- P2918
- P2919
- P2945
- P2948
- P2956
- P2957
- P2959
题目标签
- 语言基础
- 90
- 循环语句
- 64
- 选择语句
- 39
- 语言入门
- 38
- 一维数组
- 26
- 搜索
- 21
- 其他
- 18
- 贪心
- 18
- 数据结构
- 16
- 字符串
- 13
- 竞赛
- 10
- 字符数组
- 9
- 数学知识
- 8
- 动态规划
- 8
- 输入输出
- 8
- 二维数组
- 8
- NOIP
- 7
- 位运算
- 6
- 递归
- 6
- DFS
- 6