www.monmouth.edu
192.100.64.7
bool found = false vector<char *> tkns = split(addr, ".") if tkns.size() == 4 i = tkns.begin() while i != tkns.end() for nIdx = 0; nIdx < strlen(*i); nIdx++ if !isdigit(*i[nIdx]) goto exit_fun i++ found = true
*
has lower precedence than []
.
*i[nIdx]
is *(i[nIdx])
.
i[nIdx]
?
i[nIdx]
is *(i + nIdx)
.
bool found = false vector<char *> tkns = split(addr, ".") if tkns.size() == 4 vector<char *>::iterator i = tkns.begin() while i != tkns.end() char * ep = *i + strlen(*i), * cp = find_if(*i, ep, not1(ptr_fun(isdigit))) if cp != ep goto exit_fun i++ found = true
not1()
and ptr_fun()
are function adapters.
static bool is_number(const char * cp) const char * ep = cp + strlen(cp) const char * fp = find_if(cp, ep, not1(ptr_fun(isdigit))) return fp == ep bool dotted_quad(const string & addr) vector<char *> tkns = split(addr, ".") if tkns.size() == 4 const vector<char *>::iterator e = tkns.end() const vector<char *>::iterator f = find_if(tkns.begin(), e, not1(ptr_fun(is_number))) if f != e // Found a non number. else // They're all numbers.
is_number()
.
This page last modified on 12 November 2002.