fork(1) download
  1. #include <iterator>
  2. #include <iostream>
  3. #include <algorithm>
  4.  
  5. class myIterator : public std::iterator<std::input_iterator_tag, char>
  6. {
  7. char *p;
  8.  
  9. public:
  10.  
  11. // Implementation
  12. myIterator(char* x) :p(x) { };
  13. myIterator(const myIterator& i) : p(i.p) { };
  14. myIterator& operator++() { ++p; return *this; };
  15. myIterator operator++(int) {myIterator tmp(*this); operator++(); return tmp; };
  16. bool operator==(const myIterator& rhs) { return p == rhs.p; };
  17. bool operator!=(const myIterator& rhs) { return p != rhs.p; };
  18. char& operator*() { return *p; };
  19. };
  20.  
  21. int main() {
  22. char arr[] = "asdasdasdasd";
  23. std::cout << std::count(myIterator(arr), myIterator(arr + 5), '@') << std::endl;
  24. }
  25.  
Success #stdin #stdout 0s 3340KB
stdin
Standard input is empty
stdout
0