topical media & game development

talk show tell print

professional-program-22-FunctionObjects-WritingFunctionObject.c

? / professional-program-22-FunctionObjects-WritingFunctionObject.c


  include <functional>
  include <algorithm>
  include <cctype>
  include <string>
  include <iostream>
  using namespace std;
  
  class myIsDigit : public unary_function<char, bool>
  {
  public:
    bool operator() (char c) const { return (::isdigit(c)); }
  };
  
  bool isNumber(const string& str)
  {
    string::const_iterator it = find_if(str.begin(), str.end(),
                                        not1(myIsDigit()));
    return (it == str.end());
  }
  
  int main(int argc, char** argv)
  {
  
    cout << isNumber("12345") << endl;
    cout << isNumber("hello") << endl;
    cout << isNumber("1234a") << endl;
  
    return (0);
  }
  


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.