1 /* ///////////////////////////////////////////////////////////////////////
7 * Brief: The for algorithms
10 * Copyright (c) 2008-2020, Waruqi All rights reserved.
11 * //////////////////////////////////////////////////////////////////// */
13 #ifndef EXTL_ALGORITHM_FOR_H
14 #define EXTL_ALGORITHM_FOR_H
17 * \brief The for algorithms
20 # error for.h need be supported by c++.
23 /* ///////////////////////////////////////////////////////////////////////
27 #include "std/algorithm.h"
29 /* ///////////////////////////////////////////////////////////////////////
36 * \ingroup extl_group_algorithm
38 template<typename_param_k InIt
, typename_param_k Pr
>
39 EXTL_INLINE Pr
xtl_foreach(InIt first
, InIt last
, Pr pred
)
41 return std_foreach(first
, last
, pred
);
46 * \ingroup extl_group_algorithm
48 template<typename_param_k Ctr
, typename_param_k Pr
>
49 EXTL_INLINE Pr
for_all(Ctr
& container
, Pr pred
)
51 return xtl_foreach(container
.begin(), container
.end(), pred
);
56 * \ingroup extl_group_algorithm
58 template<typename_param_k Ctr
, typename_param_k Pr
>
59 EXTL_INLINE Pr
rfor_all(Ctr
& container
, Pr pred
)
61 return xtl_foreach(container
.rbegin(), container
.rend(), pred
);
63 /* ///////////////////////////////////////////////////////////////////////
68 /* //////////////////////////////////////////////////////////////////// */
69 #endif /* EXTL_ALGORITHM_FOR_H */
70 /* //////////////////////////////////////////////////////////////////// */