| 150 | namespace base { |
| 151 | namespace details { |
| 152 | struct padding { |
| 153 | size_t count = 0; |
| 154 | size_t length = 0; |
| 155 | |
| 156 | padding() = default; |
| 157 | padding(size_t count, size_t length) : count(count), length(length) {} |
| 158 | |
| 159 | padding operator+(const padding& p) { return padding(count + p.count, length + p.length); } |
| 160 | |
| 161 | friend bool operator==(const padding& lhs, const padding& rhs) { |
| 162 | return lhs.count == rhs.count && lhs.length == rhs.length; |
| 163 | } |
| 164 | }; |
| 165 | |
| 166 | inline padding count_padding(const std::string& base, const std::vector<std::string>& fills) { |
| 167 | for (const auto& fill : fills) { |