Files
simgear/simgear/structure/StringTable.hxx

29 lines
616 B
C++

#ifndef SIMGEAR_STRINGTABLE_HXX
#define SIMGEAR_STRINGTABLE_HXX 1
#include <string>
#include <mutex>
#include <boost/multi_index_container.hpp>
#include <boost/multi_index/hashed_index.hpp>
#include <boost/multi_index/identity.hpp>
namespace simgear
{
typedef boost::multi_index_container<
std::string,
boost::multi_index::indexed_by<
boost::multi_index::hashed_unique<
boost::multi_index::identity<std::string> > > >
StringContainer;
class StringTable
{
const std::string* insert(const std::string& str);
private:
std::mutex _mutex;
StringContainer _strings;
};
}
#endif