Listing 2

#include <boost/multi_index_container.hpp>
#include <boost/multi_index/ordered_index.hpp>
#include <boost/multi_index/key_extractors.hpp>

using namespace boost::multi_index;
struct employee
{
  ...
};
typedef multi_index_container<
  employee,
  indexed_by<
    ordered_unique<identity<employee> >,
    ordered_non_unique<member<employee, std::string, &employee::name> >,
    ordered_non_unique<member<employee, int, &employee::age> >
  >
> company;