19 #ifndef PAGESPEED_KERNEL_BASE_FAST_WILDCARD_GROUP_H_ 
   20 #define PAGESPEED_KERNEL_BASE_FAST_WILDCARD_GROUP_H_ 
   28 namespace net_instaweb {
 
  102       : rolling_hash_length_(kUncompiled) { }
 
  104       : rolling_hash_length_(kUncompiled) {
 
  108   ~FastWildcardGroup();
 
  109   FastWildcardGroup& operator=(
const FastWildcardGroup& other) {
 
  116   bool Match(
const StringPiece& str, 
bool allow_by_default) 
const;
 
  120   void Allow(
const StringPiece& wildcard);
 
  124   void Disallow(
const StringPiece& wildcard);
 
  126   void CopyFrom(
const FastWildcardGroup& src);
 
  127   void AppendFrom(
const FastWildcardGroup& src);
 
  136   bool empty()
 const { 
return wildcards_.empty(); }
 
  140   static const int32 kUncompiled = -1;
 
  141   static const int32 kDontHash = 0;
 
  145   inline int& pattern_hash_index(uint64 rolling_hash) 
const;
 
  146   void Compile() 
const;
 
  147   void CompileNonTrivial() 
const;
 
  152   std::vector<Wildcard*> wildcards_;
 
  153   std::vector<bool> allow_; 
 
  156   mutable std::vector<uint64> rolling_hashes_; 
 
  157   mutable std::vector<int> effective_indices_; 
 
  158   mutable std::vector<int> wildcard_only_indices_; 
 
  159   mutable std::vector<int> pattern_hash_index_; 
 
  160   mutable AtomicInt32 rolling_hash_length_;
 
Definition: fast_wildcard_group.h:94
Definition: signature.h:42
static const int kMinPatterns
Definition: fast_wildcard_group.h:99
void Allow(const StringPiece &wildcard)
std::string GoogleString
PAGESPEED_KERNEL_BASE_STRING_H_. 
Definition: string.h:24
bool Match(const StringPiece &str, bool allow_by_default) const 
void Merge(const FastWildcardGroup &src)
Alias for use of CopyOnWrite. 
Definition: fast_wildcard_group.h:130
void Disallow(const StringPiece &wildcard)
int num_wildcards() const 
Return the number of configured wildcards. 
Definition: fast_wildcard_group.h:135