#include <tokenizerfind.h>

boolc tokenizerfind::reset()
{ 
  return ref.find(index,atom); 
}

boolc tokenizerfind::operator !()
{ 
  return !ref; 
}

void tokenizerfind::operator ++ ()
{ 
  ++index; 
  ref.find(index,atom,index); 
}

stringc & tokenizerfind::operator() () const 
{ 
  return ref(); 
}

string & tokenizerfind::operator * ()
{ 
  return *ref; 
}





boolc tokenizerfind::find(stringc& atom1,stringc& atom2,stringc& atom3,stringc& atom4,stringc& atom5,stringc& atom6)
{
  if (find(atom1)==false)
    return false;

  index += atom1.length()-1;
  return find(atom2,atom3,atom4,atom5,atom6);
}

boolc tokenizerfind::find(stringc& atom1,stringc& atom2,stringc& atom3,stringc& atom4,stringc& atom5)
{
  if (find(atom1)==false)
    return false;

  index += atom1.length()-1;
  return find(atom2,atom3,atom4,atom5);
}

boolc tokenizerfind::find(stringc& atom1,stringc& atom2,stringc& atom3,stringc& atom4)
{
  if (find(atom1)==false)
    return false;

  index += atom1.length()-1;
  return find(atom2,atom3,atom4);
}

boolc tokenizerfind::find(stringc& atom1,stringc& atom2,stringc& atom3)
{
  if (find(atom1)==false)
    return false;

  index += atom1.length()-1;
  return find(atom2,atom3);
}

boolc tokenizerfind::find(stringc& atom1,stringc& atom2)
{
  if (find(atom1)==false)
    return false;

  index += atom1.length()-1;
  return find(atom2);
}

boolc tokenizerfind::find(stringc& atom1)
{
  atom=atom1;
  return reset();
}


