MCPcopy Create free account
hub / github.com/apache/brpc / CompareVersionComponents

Function CompareVersionComponents

src/butil/version.cc:57–78  ·  view source on GitHub ↗

Compares version components in |components1| with components in |components2|. Returns -1, 0 or 1 if |components1| is less than, equal to, or greater than |components2|, respectively.

Source from the content-addressed store, hash-verified

55// |components2|. Returns -1, 0 or 1 if |components1| is less than, equal to,
56// or greater than |components2|, respectively.
57int CompareVersionComponents(const std::vector<uint16_t>& components1,
58 const std::vector<uint16_t>& components2) {
59 const size_t count = std::min(components1.size(), components2.size());
60 for (size_t i = 0; i < count; ++i) {
61 if (components1[i] > components2[i])
62 return 1;
63 if (components1[i] < components2[i])
64 return -1;
65 }
66 if (components1.size() > components2.size()) {
67 for (size_t i = count; i < components1.size(); ++i) {
68 if (components1[i] > 0)
69 return 1;
70 }
71 } else if (components1.size() < components2.size()) {
72 for (size_t i = count; i < components2.size(); ++i) {
73 if (components2[i] > 0)
74 return -1;
75 }
76 }
77 return 0;
78}
79
80} // namespace
81

Callers 2

CompareToMethod · 0.85

Calls 1

sizeMethod · 0.45

Tested by

no test coverage detected