Simple data structures
In this section, we will look at two different libraries that will help you create simple data structures of immediate usefulness: Boost.Optional and Boost.Tuple. Boost.Optional can be used to represent optional values; objects that may or may not be there. Boost.Tuple is used to create ordered sets of heterogeneous values.
Boost.Optional
Let us consider that you need to maintain about musicians in a data store. Among other things, you can look up the latest album released by an artiste. You have written a simple API in C++ for doing this:
std::string find_latest_album_of(const std::string& artisteName);
For simplicity we will ignore the possibility that two or more artistes could share the same name. Here is a simple implementation of this function:
1 #include <string> 2 #include <map> 3 4 typedef std::map<std::string, std::string> artiste_album_map; 5 6 extern artiste_album_map latest_albums; 7 8 std::string find_latest_album_of( 9 ...