本文整理汇总了C++中ZTuple::begin方法的典型用法代码示例。如果您正苦于以下问题:C++ ZTuple::begin方法的具体用法?C++ ZTuple::begin怎么用?C++ ZTuple::begin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ZTuple
的用法示例。
在下文中一共展示了ZTuple::begin方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: pTranslate_LocalToGlobal
void ZTS_Umbrella::pTranslate_LocalToGlobal(size_t iChildIndex, ZTuple& ioTuple)
{
for (ZTuple::const_iterator i = ioTuple.begin(), theEnd = ioTuple.end();
i != theEnd; ++i)
{
switch (ioTuple.TypeOf(i))
{
case eZType_ID:
{
uint64 globalID = this->pLocalToGlobal(iChildIndex, ioTuple.GetID(i));
ioTuple.SetID(i, globalID);
break;
}
case eZType_Tuple:
{
this->pTranslate_LocalToGlobal(iChildIndex, ioTuple.GetMutableTuple(i));
break;
}
case eZType_Vector:
{
vector<ZTupleValue>& theVector = ioTuple.GetMutableVector(i);
for (vector<ZTupleValue>::iterator j = theVector.begin(); j != theVector.end(); ++j)
{
if (eZType_ID == (*j).TypeOf())
{
uint64 globalID = this->pLocalToGlobal(iChildIndex, ioTuple.GetID(i));
(*j).SetID(globalID);
}
}
}
}
}
}
示例2: sHandle_PROPFIND
bool ZWebDAV::sHandle_PROPFIND(const ZTrail& iPrefix, ZNode iRoot, const ZStreamR& iStreamR, const ZStreamW& iStreamW, const ZTuple& iHeader, const ZTrail& iTrail, const ZTuple& iParam)
{
int depth = sGetDepth(iHeader);
ZRef<ZStrimmerR> theStrimmerR = sMakeStrimmer(iHeader, iStreamR);
const ZStrimR& theStrimR = theStrimmerR->GetStrimR();
ZHTTP::Response r;
r.Set("Date", sAsString_WebDAV(ZTime::sNow()));
ZNode theNode = iRoot.Trail(iTrail);
if (!theNode.Exists())
{
theStrimR.SkipAll();
r.Set("Content-Length", 0);
r.SetResult(404);
r.Send(iStreamW);
}
else
{
ZTuple t = sReadTuple(theStrimR);
ZTuple results;
if (t.Empty() || t.Has("D:allprop"))
{
sHandle_PROPFIND_All(iPrefix, iRoot, theNode, depth, results);
}
else
{
ZTuple propT = t.GetTuple("D:prop");
vector<string> thePropNames;
for (ZTuple::const_iterator i = propT.begin(); i != propT.end(); ++i)
thePropNames.push_back(propT.NameOf(i));
sHandle_PROPFIND_Some(iPrefix, iRoot, theNode, depth, thePropNames, results);
}
if (const ZLog::S& s = ZLog::S(ZLog::eDebug, "ZWebDAV"))
{
s << "PropFind Request:" << t << "\n";
s << "PropFind Results:" << results << "\n";
}
r.SetResult(207, "Multi-Status");
r.Set("Content-Type", "text/xml; charset=\"utf-8\"");
r.Set("Transfer-Encoding", "chunked");
r.Send(iStreamW);
ZHTTP::StreamW_Chunked chunkedStream(iStreamW);
ZStrimW_StreamUTF8 theStrimW(chunkedStream);
ZStrimW_ML s(false, theStrimW);
s.PI("xml");
s.Attr("version", "1.0");
s.Attr("encoding", "utf-8");
s.Begin("D:multistatus");
s.Attr("xmlns:D", "DAV:");
sWriteAsXML(s, results);
s.End("D:multistatus");
}
return true;
}
示例3: sWriteAsXML
static void sWriteAsXML(ZStrimW_ML& s, const ZTuple& iTuple)
{
for (ZTuple::const_iterator i = iTuple.begin(); i != iTuple.end(); ++i)
sWriteAsXML(s, iTuple.NameOf(i), iTuple.GetValue(i));
}
示例4: sToStrim_Tuple
static void sToStrim_Tuple(const ZStrimW& s, const ZTuple& iTuple,
size_t iLevel, const ZUtil_Tuple::Options& iOptions, bool iMayNeedInitialLF)
{
if (iTuple.Empty())
{
// We've got an empty tuple.
s.Write("{}");
return;
}
const ZTuple::const_iterator theBegin = iTuple.begin();
const ZTuple::const_iterator theEnd = iTuple.end();
bool needsIndentation = false;
if (iOptions.DoIndentation())
{
for (ZTuple::const_iterator i = theBegin; i != theEnd; ++i)
{
if (sIsComplex(iOptions, iTuple.GetValue(i)))
{
needsIndentation = true;
break;
}
}
}
if (needsIndentation)
{
if (iMayNeedInitialLF)
{
// We're going to be indenting, but need to start
// a fresh line to have our { and contents line up.
sWriteLFIndent(s, iLevel, iOptions);
}
s.Write("{");
for (ZTuple::const_iterator i = theBegin; i != theEnd; ++i)
{
sWriteLFIndent(s, iLevel, iOptions);
ZUtil_Tuple::sWrite_PropName(s, iTuple.NameOf(i));
s << " = ";
sToStrim_TupleValue(s, iTuple.GetValue(i), iLevel + 1, iOptions, true);
s.Write(";");
}
sWriteLFIndent(s, iLevel, iOptions);
s.Write("}");
}
else
{
s.Write("{");
for (ZTuple::const_iterator i = theBegin; i != theEnd; ++i)
{
s.Write(" ");
ZUtil_Tuple::sWrite_PropName(s, iTuple.NameOf(i));
s << " = ";
sToStrim_TupleValue(s, iTuple.GetValue(i), iLevel + 1, iOptions, true);
s.Write(";");
}
s.Write(" }");
}
}