dl
dl_range_any.h
浏览该文件的文档.
1
11#pragma once
12
13#include "dl_concept.h"
14
16namespace dl::Any
17{
23template<typename C, typename V>
24bool Equal(const C& container, const V& v)
25{
26 for (auto& iter : container)
27 {
28 if (iter == v)
29 return true;
30 }
31 return false;
32}
33
34
35template<typename C>
36bool Zero(const C& container)
37{
38 return Equal(container, 0);
39}
40
46template<typename C, typename F>
47bool Yes(const C& container, F func)
48{
49 for (auto& iter : container)
50 {
51 if (func(iter))
52 return true;
53 }
54 return false;
55}
56
62template<typename C, typename V>
63bool Less(const C& container, const V& v)
64{
65 for (auto& iter : container)
66 {
67 if (iter < v)
68 return true;
69 }
70 return false;
71}
72
73}
用于模板限定,更好的报错信息
对容器任意元素的判断
bool Equal(const C &container, const V &v)
判断容器任意元素等于某值
bool Less(const C &container, const V &v)
判断容器任意元素小于某值
bool Zero(const C &container)
bool Yes(const C &container, F func)
判断容器任意元素满足条件