Listing 8

#include <fstream>
#include <ootl/filters/filters.hpp>
#include "to_upper.hpp"

using namespace std;
using namespace ootl;

int vanity_score() {
  int cnt = 0;
  while (!cin.eof()) {
    string s;
    cin >> s;
    if (s == "DIGGINS") {
      cnt++;
    }
  }

  cout << cnt << endl;
  return 0;
}

int main() {
  fstream in("bibliography.txt");
  in > Filter(to_upper::main) > Filter(vanity_score);
  return 0;
}