19 #ifndef PAGESPEED_KERNEL_BASE_ATOM_H_
20 #define PAGESPEED_KERNEL_BASE_ATOM_H_
25 namespace net_instaweb {
35 Atom(
const Atom& src) : str_(src.str_) {}
49 const StringPiece*
Rep()
const {
return str_; }
54 return str_ == sym.str_;
60 return str_ != sym.str_;
70 explicit Atom(
const StringPiece* str) : str_(str) {}
71 const StringPiece* str_;
80 return a1.
Rep()->data() < a2.
Rep()->data();
86 typedef std::set<Atom, AtomCompare>
AtomSet;
bool operator()(const Atom &a1, const Atom &a2) const
Definition: atom.h:77
const StringPiece * Rep() const
Definition: atom.h:49
bool operator==(const Atom &sym) const
Definition: atom.h:53
A helper for case-sensitive hashing.
Definition: string_hash.h:49
Atom & operator=(const Atom &src)
atoms are memory-managed by SymbolTables.
Definition: atom.h:39
bool operator!=(const Atom &sym) const
Definition: atom.h:59
std::set< Atom, AtomCompare > AtomSet
Definition: atom.h:86
A helper for case-insensitive hashing, which folds to lowercase.
Definition: string_hash.h:67