本文整理汇总了C++中StringVector::save方法的典型用法代码示例。如果您正苦于以下问题:C++ StringVector::save方法的具体用法?C++ StringVector::save怎么用?C++ StringVector::save使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StringVector
的用法示例。
在下文中一共展示了StringVector::save方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Save
void PhraseTableCreator::Save()
{
// Save type of encoding
ThrowingFwrite(&m_coding, sizeof(m_coding), 1, m_outFile);
ThrowingFwrite(&m_numScoreComponent, sizeof(m_numScoreComponent), 1, m_outFile);
ThrowingFwrite(&m_useAlignmentInfo, sizeof(m_useAlignmentInfo), 1, m_outFile);
ThrowingFwrite(&m_maxRank, sizeof(m_maxRank), 1, m_outFile);
ThrowingFwrite(&m_maxPhraseLength, sizeof(m_maxPhraseLength), 1, m_outFile);
if(m_coding == REnc) {
// Save source language symbols for REnc
std::vector<std::string> temp1;
temp1.resize(m_sourceSymbolsMap.size());
for(boost::unordered_map<std::string, unsigned>::iterator it
= m_sourceSymbolsMap.begin(); it != m_sourceSymbolsMap.end(); it++)
temp1[it->second] = it->first;
std::sort(temp1.begin(), temp1.end());
StringVector<unsigned char, unsigned, std::allocator> sourceSymbols;
for(std::vector<std::string>::iterator it = temp1.begin();
it != temp1.end(); it++)
sourceSymbols.push_back(*it);
sourceSymbols.save(m_outFile);
// Save lexical translation table for REnc
size_t size = m_lexicalTableIndex.size();
ThrowingFwrite(&size, sizeof(size_t), 1, m_outFile);
ThrowingFwrite(&m_lexicalTableIndex[0], sizeof(size_t), size, m_outFile);
size = m_lexicalTable.size();
ThrowingFwrite(&size, sizeof(size_t), 1, m_outFile);
ThrowingFwrite(&m_lexicalTable[0], sizeof(SrcTrg), size, m_outFile);
}
// Save target language symbols
std::vector<std::string> temp2;
temp2.resize(m_targetSymbolsMap.size());
for(boost::unordered_map<std::string, unsigned>::iterator it
= m_targetSymbolsMap.begin(); it != m_targetSymbolsMap.end(); it++)
temp2[it->second] = it->first;
StringVector<unsigned char, unsigned, std::allocator> targetSymbols;
for(std::vector<std::string>::iterator it = temp2.begin();
it != temp2.end(); it++)
targetSymbols.push_back(*it);
targetSymbols.save(m_outFile);
// Save Huffman codes for target language symbols
m_symbolTree->Save(m_outFile);
// Save number of Huffman code sets for scores and
// save Huffman code sets
ThrowingFwrite(&m_multipleScoreTrees, sizeof(m_multipleScoreTrees), 1, m_outFile);
size_t numScoreTrees = m_scoreTrees.size();
for(size_t i = 0; i < numScoreTrees; i++)
m_scoreTrees[i]->Save(m_outFile);
// Save Huffman codes for alignments
if(m_useAlignmentInfo)
m_alignTree->Save(m_outFile);
// Save compressed target phrase collections
m_compressedTargetPhrases->save(m_outFile);
}