| 143 | |
| 144 | == Ideas == |
| 145 | |
| 146 | Here you find a lot of ideas which have been mentioned on the Boost mailing list. Boost developers can use these ideas to create new projects (and add them to the list of projects above). And students can use them as start points to propose projects themselves. While these ideas are by far not as concrete as projects in the list above, they give students an idea what else they can work on within Boost. They also give students a chance to propose exactly the kind of project they'd like to work on instead of picking one from the predefined projects from above. |
| 147 | |
| 148 | === Boost libraries (extending/overhauling/finishing) === |
| 149 | * Reliable UDP (may UDT) for Boost.Asio |
| 150 | * USB for Boost.Asio |
| 151 | * Extension/reflection library (http://boost-extension.redshoelace.com/docs/boost/extension/index.html) |
| 152 | * std::packaged_task scheduler (like Intel TBB's with task stealing) for Boost.Thread |
| 153 | * Filesystem abstraction + path cleanup (http://thread.gmane.org/gmane.comp.lib.boost.devel/238103) |
| 154 | * Hardware random number generator for Boost.Random |
| 155 | * Pipes for Boost.Iostream (and maybe Boost.Asio for named/asynchronous pipes) |
| 156 | * Protocol implementations for Boost.Asio |
| 157 | * Factories for Boost.Flyweight (http://tinyurl.com/bktkc3s) |
| 158 | * expected<T> (http://tinyurl.com/clv3bsj) for Boost.System |
| 159 | |
| 160 | === Algorithms === |
| 161 | * Radix sort |
| 162 | * Approximate string matching |
| 163 | * Full text search |
| 164 | * Near Duplicate Detection (shingling) |
| 165 | * Parallel algorithms (sort, for_each) |
| 166 | * Algorithms for gpgpu |
| 167 | * Kinetic scrolling |
| 168 | |
| 169 | === Data strutures === |
| 170 | * Trie data structure |
| 171 | * B-tree data structure |
| 172 | * Concurrent containers (unordered_map, unordered_set, vector, forward_list) |
| 173 | * Slim string (as opposed to the fat std::string interface, maybe immutable, maybe policy based) |
| 174 | |
| 175 | === Media === |
| 176 | * Hardware graphics (OpenGL/OpenGL ES/DirectX abstraction) |
| 177 | * Audio library (OpenAL/FMOD/etc) |
| 178 | * Video processing library (gil for video) |
| 179 | |
| 180 | === Games === |
| 181 | * Physics library (ODE/Havok/PhysX/etc abstraction) |
| 182 | * Input library (like DirectInput/XInput) |
| 183 | * Ranking algorithms (elo/TrueSkill) |
| 184 | |
| 185 | === Databases === |
| 186 | * Relational database library (http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Relational_Database_Access) |
| 187 | * Document database library (couchdb/mongodb/etc) |
| 188 | * Spatial indexes |
| 189 | |
| 190 | === Math === |
| 191 | * Fixed-point math library (binary scaling) |
| 192 | * Geometry library (convince the developers to submit Eigen 3 to Boost) |
| 193 | |
| 194 | === Memory === |
| 195 | * Memcache library |
| 196 | |
| 197 | === File formats === |
| 198 | * JSON parsing libary |
| 199 | * XML library |
| 200 | |
| 201 | === Communication === |
| 202 | * Channel library (http://channel.sourceforge.net/) |
| 203 | * RPC |
| 204 | |
| 205 | === GUI === |
| 206 | * GUI library |
| 207 | |
| 208 | === C++ "extensions" === |
| 209 | * Type switch library (http://tinyurl.com/n3449) |
| 210 | |
| 211 | === Performance === |
| 212 | * Benchmark framework |
| 213 | |
| 214 | === Hardware === |
| 215 | * CPUID |