40 #include <boost/regex.hpp> 
   74       SIZE_OF_SPECIFICITY = 10
 
   77     static const std::string NamesOfSpecificity[SIZE_OF_SPECIFICITY];
 
   92     Size getMissedCleavages() 
const;
 
   95     void setMissedCleavages(
Size missed_cleavages);
 
   98     String getEnzymeName() 
const;
 
  124     Size digestUnmodified(
const StringView& sequence, std::vector<StringView>& output, 
Size min_length = 1, 
Size max_length = 0) 
const;
 
  139     Size digestUnmodified(
const StringView& sequence, std::vector<std::pair<Size,Size>>& output, 
Size min_length = 1, 
Size max_length = 0) 
const;
 
  152     bool isValidProduct(
const String& sequence, 
int pos, 
int length, 
bool ignore_missed_cleavages = 
true) 
const;
 
  161     bool filterByMissedCleavages(
const String& sequence, 
const std::function<
bool(
const Int)>& filter) 
const;
 
  171     bool isValidProduct_(
const String& sequence,
 
  174                          bool ignore_missed_cleavages,
 
  175                          bool allow_nterm_protein_cleavage,
 
  176                          bool allow_random_asp_pro_cleavage) 
const;
 
  192     std::vector<int> tokenize_(
const String& sequence, 
int start = 0, 
int end = -1) 
const;
 
  202     Size digestAfterTokenize_(
const std::vector<int>& fragment_positions, 
const StringView& sequence, std::vector<StringView>& output, 
Size min_length = 0, 
Size max_length = -1) 
const;
 
  203     Size digestAfterTokenize_(
const std::vector<int>& fragment_positions, 
const StringView& sequence, std::vector<std::pair<Size,Size>>& output, 
Size min_length = 0, 
Size max_length = -1) 
const;
 
  213     Size countMissedCleavages_(
const std::vector<int>& cleavage_positions, 
Size seq_start, 
Size seq_end) 
const;