void MySQLResult::addRow() { m_row_count++; m_rows->push_back(req::vector<Variant>()); m_rows->back().reserve(getFieldCount()); }
int ClassFile::getObjectSize() { int fieldCount = getFieldCount(); //Todo callculate size of different types; return fieldCount; }
void loadOneBed(struct lineFile *lf, int bedSize, struct bedStub **pList) /* Load one bed file. Make sure all lines have the correct number of fields. * Put results in *pList. */ { char *words[64], *line, *dupe; int wordCount; struct bedStub *bed; struct asObject *asObj = getAsObj(bedSize); int fieldCount = getFieldCount(bedSize, asObj); struct bed *validateBed; AllocVar(validateBed); verbose(1, "Reading %s\n", lf->fileName); while (lineFileNextReal(lf, &line)) { if (hasBin) nextWord(&line); dupe = cloneString(line); if (strictTab) wordCount = chopTabs(line, words); else wordCount = chopLine(line, words); /* ignore empty lines */ if (0 == wordCount) continue; lineFileExpectWords(lf, fieldCount, wordCount); if (type) // TODO also, may need to add a flag to the validateBed() interface to support -allowNegativeScores when not isCt // although can probably get away without it since usually -allowNegativeScores is used by ct which has already verified it. // thus -allowNegativeScores is unlikely to be used with -type. { loadAndValidateBed(words, typeBedN, fieldCount, lf, validateBed, asObj, FALSE); checkChromNameAndSize(lf, validateBed->chrom, validateBed->chromEnd); } AllocVar(bed); bed->chrom = cloneString(words[0]); bed->chromStart = lineFileNeedNum(lf, words, 1); bed->chromEnd = lineFileNeedNum(lf, words, 2); if (! noStrict) { if ((bed->chromEnd < 1) && !allowStartEqualEnd) errAbort("ERROR: line %d:'%s'\nchromEnd is less than 1\n", lf->lineIx, dupe); if (bed->chromStart == bed->chromEnd && !allowStartEqualEnd) errAbort("ERROR: line %d:'%s'\nchromStart == chromEnd (%d) (zero-length item)\n" "Use -allowStartEqualEnd if that is legit (e.g. for insertion point).\n", lf->lineIx, dupe, bed->chromStart); if (bed->chromStart > bed->chromEnd) errAbort("ERROR: line %d:'%s'\nchromStart after chromEnd (%d > %d)\n", lf->lineIx, dupe, bed->chromStart, bed->chromEnd); } bed->line = dupe; slAddHead(pList, bed); } if (asObj) asObjectFreeList(&asObj); freez(&validateBed); }
le_int16 ValueRecord::getSize(ValueFormat valueFormat) { return getFieldCount(valueFormat) * sizeof(le_int16); }
ostream& HumdrumLine::printXml(ostream& out, int level, const string& indent) { if (hasSpines()) { out << Convert::repeatString(indent, level) << "<frame"; out << " n=\"" << getLineIndex() << "\""; out << " xml:id=\"" << getXmlId() << "\""; out << ">\n"; level++; out << Convert::repeatString(indent, level) << "<frameInfo>\n"; level++; out << Convert::repeatString(indent, level) << "<fieldCount>"; out << getTokenCount() << "</fieldCount>\n"; out << Convert::repeatString(indent, level); out << "<frameStart"; out << Convert::getHumNumAttributes(getDurationFromStart()); out << "/>\n"; out << Convert::repeatString(indent, level); out << "<frameDuration"; out << Convert::getHumNumAttributes(getDuration()); out << "/>\n"; out << Convert::repeatString(indent, level) << "<frameType>"; if (isData()) { out << "data"; } else if (isBarline()) { out << "barline"; } else if (isInterpretation()) { out << "interpretation"; } else if (isLocalComment()) { out << "local-comment"; } out << "</frameType>\n"; if (isBarline()) { // print the duration to the next barline or to the end of the score // if there is no barline at the end of the score. out << Convert::repeatString(indent, level); out << "<barlineDuration"; out << Convert::getHumNumAttributes(getBarlineDuration()); out << "/>\n"; } bool bstart = isKernBoundaryStart(); bool bend = isKernBoundaryEnd(); if (bstart || bend) { out << Convert::repeatString(indent, level); cout << "<kernBoundary"; cout << " start=\""; if (bstart) { cout << "true"; } else { cout << "false"; } cout << "\""; cout << " end=\""; if (bend) { cout << "true"; } else { cout << "false"; } cout << "\""; cout << "/>\n"; } level--; out << Convert::repeatString(indent, level) << "</frameInfo>\n"; out << Convert::repeatString(indent, level) << "<fields>\n"; level++; for (int i=0; i<getFieldCount(); i++) { token(i)->printXml(out, level, indent); } level--; out << Convert::repeatString(indent, level) << "</fields>\n"; level--; out << Convert::repeatString(indent, level) << "</frame>\n"; } else { // global comments, reference records, or blank lines print here. out << Convert::repeatString(indent, level) << "<metaFrame"; out << " n=\"" << getLineIndex() << "\""; out << " token=\"" << Convert::encodeXml(((string)(*this))) << "\""; out << " xml:id=\"" << getXmlId() << "\""; out << "/>\n"; level++; out << Convert::repeatString(indent, level) << "<frameInfo>\n"; level++; out << Convert::repeatString(indent, level); out << "<startTime"; out << Convert::getHumNumAttributes(getDurationFromStart()); out << "/>\n"; out << Convert::repeatString(indent, level) << "<frameType>"; if (isReference()) { out << "reference"; } else if (isBlank()) { out << "empty"; } else { out << "global-comment"; } out << "</frameType>\n"; if (isReference()) { out << Convert::repeatString(indent, level); out << "<referenceKey>" << Convert::encodeXml(getReferenceKey()); out << "</referenceKey>\n"; out << Convert::repeatString(indent, level); out << "<referenceValue>" << Convert::encodeXml(getReferenceValue()); out << "</referenceValue>\n"; } level--; out << Convert::repeatString(indent, level) << "<frameInfo>\n"; level--; out << Convert::repeatString(indent, level) << "</metaFrame>\n"; } return out; }