#include #include #include #include using namespace std ; #include "IntFamily.h" #include "ParseFamily.h" #define INBUFFSIZE 4096 vector *ParseFamily(istream *myInput) { char Inbuff[INBUFFSIZE+1] ; vector *retList = new vector() ; while (myInput->getline(Inbuff, INBUFFSIZE) && myInput->gcount()) { if (myInput->gcount() >= INBUFFSIZE-1) { cerr << "Ridiculous input" << endl ; exit(1) ; } Inbuff[myInput->gcount()-1] = '\0' ; string *inLine = new string(Inbuff) ; istringstream lineStream(*inLine) ; // This doesn't read the children and does no error checking int parent ; lineStream >> parent ; IntFamily *newFamily = new IntFamily(parent) ; retList->push_back(*newFamily) ; delete inLine ; } return retList ; }