本文整理汇总了C++中XSerializeEngine::writeString方法的典型用法代码示例。如果您正苦于以下问题:C++ XSerializeEngine::writeString方法的具体用法?C++ XSerializeEngine::writeString怎么用?C++ XSerializeEngine::writeString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XSerializeEngine
的用法示例。
在下文中一共展示了XSerializeEngine::writeString方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: serialize
void XMLBigDecimal::serialize(XSerializeEngine& serEng)
{
//REVISIT: may not need to call base since it does nothing
XMLNumber::serialize(serEng);
if (serEng.isStoring())
{
serEng<<fSign;
serEng<<fTotalDigits;
serEng<<fScale;
serEng<<fRawDataLen; // we purposely write this seperatly
serEng.writeString(fRawData);
serEng.writeString(fIntVal);
}
else
{
serEng>>fSign;
serEng>>fTotalDigits;
serEng>>fScale;
serEng>>fRawDataLen;
serEng.readString(fRawData);
serEng.readString(fIntVal);
}
}
示例2: serialize
void XMLBigDecimal::serialize(XSerializeEngine& serEng)
{
//REVISIT: may not need to call base since it does nothing
XMLNumber::serialize(serEng);
if (serEng.isStoring())
{
serEng<<fSign;
serEng<<fTotalDigits;
serEng<<fScale;
serEng.writeString(fRawData);
serEng.writeString(fIntVal);
}
else
{
serEng>>fSign;
serEng>>fTotalDigits;
serEng>>fScale;
XMLCh* rawdataStr;
serEng.readString(rawdataStr);
ArrayJanitor<XMLCh> rawdataName(rawdataStr, serEng.getMemoryManager());
fRawDataLen = XMLString::stringLen(rawdataStr);
XMLCh* intvalStr;
serEng.readString(intvalStr);
ArrayJanitor<XMLCh> intvalName(intvalStr, serEng.getMemoryManager());
XMLSize_t intvalStrLen = XMLString::stringLen(intvalStr);
if (fRawData)
fMemoryManager->deallocate(fRawData);
fRawData = (XMLCh*) fMemoryManager->allocate
(
((fRawDataLen + intvalStrLen) + 4) * sizeof(XMLCh)
);
memcpy(fRawData, rawdataStr, fRawDataLen * sizeof(XMLCh));
fRawData[fRawDataLen] = chNull;
fIntVal = fRawData + fRawDataLen + 1;
memcpy(fIntVal, intvalStr, intvalStrLen * sizeof(XMLCh));
fIntVal[intvalStrLen] = chNull;
}
}
示例3: serialize
void XMLSchemaDescriptionImpl::serialize(XSerializeEngine& serEng)
{
XMLSchemaDescription::serialize(serEng);
if (serEng.isStoring())
{
serEng<<(int)fContextType;
serEng.writeString(fNamespace);
/***
*
* Serialize RefArrayVectorOf<XMLCh>* fLocationHints;
*
***/
XTemplateSerializer::storeObject(fLocationHints, serEng);
QName* tempQName = (QName*)fTriggeringComponent;
serEng<<tempQName;
tempQName = (QName*)fEnclosingElementName;
serEng<<tempQName;
XMLAttDef* tempAttDef = (XMLAttDef*)fAttributes;
serEng<<tempAttDef;
}
else
{
int i;
serEng>>i;
fContextType = (ContextType)i;
//the original fNamespace which came from the ctor needs deallocated
if (fNamespace)
{
XMLGrammarDescription::getMemoryManager()->deallocate((void*)fNamespace);
}
serEng.readString((XMLCh*&)fNamespace);
/***
*
* Deserialize RefArrayVectorOf<XMLCh> fLocationHints
*
***/
XTemplateSerializer::loadObject(&fLocationHints, 4, true, serEng);
QName* tempQName;
serEng>>tempQName;
fTriggeringComponent = tempQName;
serEng>>tempQName;
fEnclosingElementName = tempQName;
XMLAttDef* tempAttDef;
serEng>>tempAttDef;
fAttributes=tempAttDef;
}
}
示例4: serialize
void XSAnnotation::serialize(XSerializeEngine& serEng)
{
if (serEng.isStoring())
{
serEng.writeString(fContents);
serEng<<fNext;
serEng.writeString(fSystemId);
serEng<<fLine;
serEng<<fCol;
}
else
{
serEng.readString(fContents);
serEng>>fNext;
serEng.readString(fSystemId);
serEng>>fLine;
serEng>>fCol;
}
}
示例5: serialize
void XMLNotationDecl::serialize(XSerializeEngine& serEng)
{
if (serEng.isStoring())
{
serEng<<fId;
serEng<<fNameSpaceId;
serEng.writeString(fName);
serEng.writeString(fPublicId);
serEng.writeString(fSystemId);
serEng.writeString(fBaseURI);
}
else
{
serEng>>fId;
serEng>>fNameSpaceId;
serEng.readString(fName);
serEng.readString(fPublicId);
serEng.readString(fSystemId);
serEng.readString(fBaseURI);
}
}
示例6: serialize
void IdentityConstraint::serialize(XSerializeEngine& serEng)
{
if (serEng.isStoring())
{
serEng.writeString(fIdentityConstraintName);
serEng.writeString(fElemName);
serEng<<fSelector;
serEng<<fNamespaceURI;
/***
*
* Serialize RefVectorOf<IC_Field>* fFields;
*
***/
XTemplateSerializer::storeObject(fFields, serEng);
}
else
{
serEng.readString(fIdentityConstraintName);
serEng.readString(fElemName);
serEng>>fSelector;
serEng>>fNamespaceURI;
/***
*
* Deserialize RefVectorOf<IC_Field>* fFields;
*
***/
XTemplateSerializer::loadObject(&fFields, 4, true, serEng);
}
}
示例7: serialize
void XMLRefInfo::serialize(XSerializeEngine& serEng)
{
if (serEng.isStoring())
{
serEng<<fDeclared;
serEng<<fUsed;
serEng.writeString(fRefName);
}
else
{
serEng>>fDeclared;
serEng>>fUsed;
serEng.readString(fRefName);
}
}
示例8: serialize
void DTDAttDef::serialize(XSerializeEngine& serEng)
{
XMLAttDef::serialize(serEng);
if (serEng.isStoring())
{
serEng<<fElemId;
serEng.writeString(fName);
}
else
{
serEng>>fElemId;
serEng.readString(fName);
}
}
示例9: serialize
void KVStringPair::serialize(XSerializeEngine& serEng)
{
if (serEng.isStoring())
{
serEng.writeString(fKey, fKeyAllocSize, XSerializeEngine::toWriteBufferLen);
serEng.writeString(fValue, fValueAllocSize, XSerializeEngine::toWriteBufferLen);
}
else
{
int dataLen = 0;
serEng.readString(fKey, (int&)fKeyAllocSize, dataLen, XSerializeEngine::toReadBufferLen);
serEng.readString(fValue, (int&)fValueAllocSize, dataLen, XSerializeEngine::toReadBufferLen);
}
}
示例10: serialize
void XMLStringPool::serialize(XSerializeEngine& serEng)
{
/***
* Since we are pretty sure that fIdMap and fHashTable is
* not shared by any other object, therefore there is no owned/referenced
* issue. Thus we can serialize the raw data only, rather than serializing
* both fIdMap and fHashTable.
*
* And we can rebuild the fIdMap and fHashTable out of the raw data during
* deserialization.
*
***/
if (serEng.isStoring())
{
serEng<<fCurId;
for (unsigned int index = 1; index < fCurId; index++)
{
const XMLCh* stringData = getValueForId(index);
serEng.writeString(stringData);
}
}
else
{
unsigned int mapSize;
serEng>>mapSize;
assert(1 == fCurId); //make sure empty
for (unsigned int index = 1; index < mapSize; index++)
{
XMLCh* stringData;
serEng.readString(stringData);
addNewEntry(stringData);
//we got to deallocate this string
//since stringpool will duplicate this string in the PoolElem and own that copy
fMemoryManager->deallocate(stringData);
}
}
}
示例11: serialize
void XMLAbstractDoubleFloat::serialize(XSerializeEngine& serEng)
{
//REVISIT: may not need to call base since it does nothing
XMLNumber::serialize(serEng);
if (serEng.isStoring())
{
serEng << fValue;
serEng << fType;
serEng << fDataConverted;
serEng << fDataOverflowed;
serEng << fSign;
serEng.writeString(fRawData);
// Do not serialize fFormattedString
}
else
{
serEng >> fValue;
int type = 0;
serEng >> type;
fType = (LiteralType) type;
serEng >> fDataConverted;
serEng >> fDataOverflowed;
serEng >> fSign;
serEng.readString(fRawData);
// Set it to 0 force it to re-format if needed
fFormattedString = 0;
}
}
示例12: storeDV
/***
*
* When deserialized, we need to know, exactly what
* validator was serialized here.
*
* Design Issue:
*
* This extra type information is only necessary when
* we need to create and deserialize an DatatypeValidator
* derivative by operator >>, but not by object.serialize().
* Therefore it is appropriate to save this type info by
* hosting object rather than by derivative.serialize().
*
*
***/
void DatatypeValidator::storeDV(XSerializeEngine& serEng
, DatatypeValidator* const dv)
{
if (dv)
{
//builtIndv
if (dv == DatatypeValidatorFactory::getBuiltInRegistry()->get(dv->getTypeLocalName()))
{
serEng<<DV_BUILTIN;
serEng.writeString(dv->getTypeLocalName());
}
else
{
serEng<<DV_NORMAL;
serEng<<(int) dv->getType();
serEng<<dv;
}
}
else
{
serEng<<DV_ZERO;
}
}
示例13: serialize
void XercesXPath::serialize(XSerializeEngine& serEng)
{
if (serEng.isStoring())
{
serEng<<fEmptyNamespaceId;
serEng.writeString(fExpression);
/***
* Serialize RefVectorOf<XercesLocationPath>* fLocationPaths;
***/
XTemplateSerializer::storeObject(fLocationPaths, serEng);
}
else
{
serEng>>fEmptyNamespaceId;
serEng.readString(fExpression);
/***
* Deserialize RefVectorOf<XercesLocationPath>* fLocationPaths;
***/
XTemplateSerializer::loadObject(&fLocationPaths, 8, true, serEng);
}
}
示例14: serialize
void SchemaGrammar::serialize(XSerializeEngine& serEng)
{
/***
* don't serialize NamespaceScope* fNamespaceScope;
* ValidationContext* fValidationContext;
* fElemNonDeclPool
***/
Grammar::serialize(serEng);
if (serEng.isStoring())
{
//serialize DatatypeValidatorFactory first
fDatatypeRegistry.serialize(serEng);
/***
*
* Serialize RefHash3KeysIdPool<SchemaElementDecl>* fElemDeclPool;
* Serialize RefHash3KeysIdPool<SchemaElementDecl>* fGroupElemDeclPool;
*
***/
XTemplateSerializer::storeObject(fElemDeclPool, serEng);
XTemplateSerializer::storeObject(fGroupElemDeclPool, serEng);
/***
* Serialize NameIdPool<XMLNotationDecl>* fNotationDeclPool;
***/
XTemplateSerializer::storeObject(fNotationDeclPool, serEng);
/***
*
* Serialize RefHashTableOf<XMLAttDef>* fAttributeDeclRegistry;
* Serialize RefHashTableOf<ComplexTypeInfo>* fComplexTypeRegistry;
* Serialize RefHashTableOf<XercesGroupInfo>* fGroupInfoRegistry;
* Serialize RefHashTableOf<XercesAttGroupInfo>* fAttGroupInfoRegistry;
* Serialize RefHashTableOf<XMLRefInfo>* fIDRefList;
*
***/
XTemplateSerializer::storeObject(fAttributeDeclRegistry, serEng);
XTemplateSerializer::storeObject(fComplexTypeRegistry, serEng);
XTemplateSerializer::storeObject(fGroupInfoRegistry, serEng);
XTemplateSerializer::storeObject(fAttGroupInfoRegistry, serEng);
/***
* Serialize RefHash2KeysTableOf<ElemVector>* fValidSubstitutionGroups;
***/
XTemplateSerializer::storeObject(fValidSubstitutionGroups, serEng);
/***
* Serialize RefHashTableOf<XSAnnotation>* fAnnotations;
***/
XTemplateSerializer::storeObject(fAnnotations, serEng);
serEng.writeString(fTargetNamespace);
serEng<<fValidated;
/***
* serialize() method shall be used to store object
* which has been created in ctor
***/
fGramDesc->serialize(serEng);
}
else
{
fDatatypeRegistry.serialize(serEng);
/***
*
* Deserialize RefHash3KeysIdPool<SchemaElementDecl>* fElemDeclPool;
* Deserialize RefHash3KeysIdPool<SchemaElementDecl>* fGroupElemDeclPool;
*
***/
XTemplateSerializer::loadObject(&fElemDeclPool, 109, true, 128, serEng);
XTemplateSerializer::loadObject(&fGroupElemDeclPool, 109, true, 128, serEng);
/***
* Deserialize NameIdPool<XMLNotationDecl>* fNotationDeclPool;
***/
XTemplateSerializer::loadObject(&fNotationDeclPool, 109, 128, serEng);
/***
*
* Deserialize RefHashTableOf<XMLAttDef>* fAttributeDeclRegistry;
* Deserialize RefHashTableOf<ComplexTypeInfo>* fComplexTypeRegistry;
* Deserialize RefHashTableOf<XercesGroupInfo>* fGroupInfoRegistry;
* Deserialize RefHashTableOf<XercesAttGroupInfo>* fAttGroupInfoRegistry;
* Deserialize RefHashTableOf<XMLRefInfo>* fIDRefList;
*
***/
XTemplateSerializer::loadObject(&fAttributeDeclRegistry, 29, true, serEng);
XTemplateSerializer::loadObject(&fComplexTypeRegistry, 29, true, serEng);
XTemplateSerializer::loadObject(&fGroupInfoRegistry, 13, true, serEng);
XTemplateSerializer::loadObject(&fAttGroupInfoRegistry, 13, true, serEng);
/***
* Deserialize RefHash2KeysTableOf<ElemVector>* fValidSubstitutionGroups;
//.........这里部分代码省略.........
示例15: serialize
void DatatypeValidator::serialize(XSerializeEngine& serEng)
{
if (serEng.isStoring())
{
serEng<<fAnonymous;
serEng<<fFinite;
serEng<<fBounded;
serEng<<fNumeric;
serEng<<fWhiteSpace;
serEng<<fFinalSet;
serEng<<fFacetsDefined;
serEng<<fFixed;
serEng<<(int)fType;
serEng<<(int)fOrdered;
storeDV(serEng, fBaseValidator);
/***
* Serialize RefHashTableOf<KVStringPair>
***/
XTemplateSerializer::storeObject(fFacets, serEng);
serEng.writeString(fPattern);
if (fTypeUri==XMLUni::fgZeroLenString)
{
serEng<<TYPENAME_ZERO;
}
else if (fTypeUri == SchemaSymbols::fgURI_SCHEMAFORSCHEMA)
{
serEng<<TYPENAME_S4S;
serEng.writeString(fTypeLocalName);
}
else
{
serEng<<TYPENAME_NORMAL;
serEng.writeString(fTypeLocalName);
serEng.writeString(fTypeUri);
}
/***
* don't serialize
* fRegex
***/
}
else
{
serEng>>fAnonymous;
serEng>>fFinite;
serEng>>fBounded;
serEng>>fNumeric;
serEng>>fWhiteSpace;
serEng>>fFinalSet;
serEng>>fFacetsDefined;
serEng>>fFixed;
int type;
serEng>>type;
fType=(ValidatorType)type;
serEng>>type;
fOrdered = (XSSimpleTypeDefinition::ORDERING)type;
fBaseValidator = loadDV(serEng);
/***
*
* Deserialize RefHashTableOf<KVStringPair>
*
***/
XTemplateSerializer::loadObject(&fFacets, 29, true, serEng);
serEng.readString(fPattern);
/***
* Recreate through setTypeName()
* fTypeName
***/
int flag;
serEng>>flag;
if ( TYPENAME_ZERO == flag )
{
setTypeName(0);
}
else if ( TYPENAME_S4S == flag )
{
XMLCh* typeLocalName;
serEng.readString(typeLocalName);
ArrayJanitor<XMLCh> janName(typeLocalName, fMemoryManager);
setTypeName(typeLocalName);
}
else // TYPENAME_NORMAL
{
//.........这里部分代码省略.........