Mercurial > public > cpp-enigma
comparison enigma/plugboard.cpp @ 6:3370383116db
Bug fix for the string functions.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Tue, 26 Jun 2012 21:22:42 -0500 |
parents | f4e25e6b76c3 |
children |
comparison
equal
deleted
inserted
replaced
5:80debdaa4f65 | 6:3370383116db |
---|---|
132 { | 132 { |
133 const auto pairs = get_pairs(); | 133 const auto pairs = get_pairs(); |
134 | 134 |
135 std::string s; | 135 std::string s; |
136 | 136 |
137 for (const auto p : pairs) | 137 for (const auto& p : pairs) |
138 { | 138 { |
139 s += static_cast<char>(p.first + 'A'); | 139 s += static_cast<char>(p.first + 'A'); |
140 s += static_cast<char>(p.second + 'A'); | 140 s += static_cast<char>(p.second + 'A'); |
141 s += ' '; | 141 s += ' '; |
142 } | 142 } |
143 s.erase(s.size() - 1); // erase trailing space | 143 |
144 if (!s.empty()) | |
145 { | |
146 s.erase(s.size() - 1); // erase trailing space | |
147 } | |
144 return s; | 148 return s; |
145 } | 149 } |
146 | 150 |
147 //////////////////////////////////////////////////////////////////////////////// | 151 //////////////////////////////////////////////////////////////////////////////// |
148 | 152 |
149 std::string plugboard::navy_str() const | 153 std::string plugboard::navy_str() const |
150 { | 154 { |
151 const auto pairs = get_pairs(); | 155 const auto pairs = get_pairs(); |
152 | 156 |
153 std::ostringstream os; | 157 std::ostringstream os; |
154 for (const auto p : pairs) | 158 for (const auto& p : pairs) |
155 { | 159 { |
156 os << (p.first + 1) << '/' << (p.second + 1) << ' '; | 160 os << (p.first + 1) << '/' << (p.second + 1) << ' '; |
157 } | 161 } |
158 | 162 |
159 std::string s(os.str()); | 163 std::string s(os.str()); |
160 s.erase(s.size() - 1); // erase trailing space | 164 if (!s.empty()) |
165 { | |
166 s.erase(s.size() - 1); // erase trailing space | |
167 } | |
161 return s; | 168 return s; |
162 } | 169 } |
163 | 170 |
164 //////////////////////////////////////////////////////////////////////////////// | 171 //////////////////////////////////////////////////////////////////////////////// |
165 | 172 |