// Copyright (C) 1998-1999 Jean-Marc Valin #include "mean_set.h" #include "ObjectParser.h" using namespace std; namespace FD { DECLARE_TYPE(MeanSet) //@implements GMM int MeanSet::getIDFor(RCPtr cov) { for (int i=0;i MeanSet::getPtrFor(int id) const { if (id>=nb_means) throw new GeneralException("Invalid mean ID", __FILE__, __LINE__); return means[id]; } void MeanSet::printOn(ostream &out) const { out << "" << endl; out << "" << endl; out << ">\n"; } void MeanSet::readFrom (istream &in) { string tag; while (1) { char ch; in >> ch; if (ch == '>') break; else if (ch != '<') throw new ParsingException ("MeanSet::readFrom : Parse error: '<' expected"); in >> tag; if (tag == "means") in >> means; else if (tag == "nb_means") in >> nb_means; else throw new ParsingException ("MeanSet::readFrom : unknown argument: " + tag); if (!in) throw new ParsingException ("MeanSet::readFrom : Parse error trying to build " + tag); in >> tag; if (tag != ">") throw new ParsingException ("MeanSet::readFrom : Parse error: '>' expected "); } } istream &operator >> (istream &in, MeanSet &cov) { if (!isValidType(in, "MeanSet")) return in; cov.readFrom(in); return in; } }//namespace FD