class Cache
{
public:
- typedef std::list<std::string> ValueList;
+ using Values = std::list<std::string>;
private:
- typedef std::pair<std::string, std::string> Key;
- typedef std::map<Key, ValueList> DataMap;
+ using Key = std::pair<std::string, std::string>;
SourcePackage &package;
Msp::FS::Path filename;
- DataMap data;
+ std::map<Key, Values> data;
Msp::Time::TimeStamp mtime;
- bool changed;
+ mutable bool changed;
public:
Cache(SourcePackage &p);
void append_value(const Target *, const std::string &, const std::string &);
/// Sets a key to a list of values, replacing any existing values.
- void set_values(const Target *, const std::string &, const ValueList &);
+ void set_values(const Target *, const std::string &, const Values &);
/** Returns the first value from a key. The key must exist and be
non-empty. */
const std::string &get_value(const Target *, const std::string &);
/// Returns the values from a key. The key must exist.
- const ValueList &get_values(const Target *, const std::string &);
+ const Values &get_values(const Target *, const std::string &);
/// Indicates whether a key exists.
bool has_key(const Target *, const std::string &);