22 unsigned int entry)
const
26 std::vector<unsigned int>::const_iterator intIter = form.
params(
entry).begin();
27 unsigned int keyIdx = 0U, aliasNum = 0U, clidNum = 0U;
29 if ((*intIter&0x0000FFFF) == 0) {
31 keyIdx = *intIter; ++intIter;
32 aliasNum = *intIter; ++intIter;
33 clidNum = *intIter; ++intIter;
36 const unsigned int keyPos = (
unsigned short)(*intIter>>16),
37 version = (
unsigned short)(*intIter&0x0000FFFF); ++intIter;
38 const unsigned int guidIdx = (
unsigned short)(*intIter>>16),
39 classIdx = (
unsigned short)(*intIter&0x0000FFFF); ++intIter;
40 const unsigned int prefixIdx = (
unsigned short)(*intIter>>16),
41 typeIdx = (
unsigned short)(*intIter&0x0000FFFF); ++intIter;
43 unsigned int tech = 514;
45 tech = *intIter; ++intIter;
47 unsigned int oid1 = *intIter; ++intIter;
49 keyIdx = *intIter; ++intIter;
50 aliasNum = *intIter; ++intIter;
51 clidNum = *intIter; ++intIter;
53 keyIdx = (*intIter>>16), aliasNum = ((*intIter&0x0000FFFF)>>8), clidNum = (*intIter&0x000000FF); ++intIter;
61 cntName += form.
map()[prefixIdx];
63 cntName += form.
map()[typeIdx];
68 cntName += pers.
m_token.substr(0, keyPos - 1) + form.
map()[keyIdx] + pers.
m_token.substr(keyPos - 1);
74 Guid clid(form.
map()[classIdx]);
79 unsigned int aliasCur = 0U, clidCur = 0U;
82 for (std::set<std::string>::const_iterator lastAlias = trans.
m_alias.begin();
83 aliasCur < aliasNum; ++aliasCur) {
84 lastAlias = trans.
m_alias.insert(lastAlias, form.
map()[keyIdx + aliasCur + 1]);
86 trans.
m_pClid = *intIter; ++intIter;
88 const std::vector<unsigned int>::const_iterator intLast = form.
params(
entry).end();
89 for (std::set<CLID>::const_iterator lastClid = trans.
m_clids.begin();
90 intIter != intLast && clidCur < clidNum; ++intIter, ++clidCur) {
91 lastClid = trans.
m_clids.insert(lastClid, *intIter);
94 for (; intIter != intLast; ++intIter) {
102 unsigned int entry)
const {
103 unsigned int tech = 0U, oid1 = 0U;
104 unsigned short guidIdx = 0U, classIdx = 0U, prefixIdx = 0U, typeIdx = 0U, keyPos = 0U;
109 for (std::vector<std::string>::const_iterator iter = form.
map().begin(), last = form.
map().end();
110 iter != last; ++iter, ++guidIdx) {
111 if (*iter ==
guid)
break;
113 if (guidIdx == form.
map().size()) {
118 for (std::vector<std::string>::const_iterator iter = form.
map().begin(), last = form.
map().end();
119 iter != last; ++iter, ++classIdx) {
120 if (*iter == clid)
break;
122 if (classIdx == form.
map().size()) {
128 std::string::size_type delim = pers.
m_token.find_first_of(
"_/(");
129 if (delim != std::string::npos) {
130 const std::string persComp1 = pers.
m_token.substr(0, delim + 1);
131 for (std::vector<std::string>::const_iterator iter = form.
map().begin(), last = form.
map().end();
132 iter != last; ++iter, ++prefixIdx) {
133 if (*iter == persComp1)
break;
135 if (prefixIdx == form.
map().size()) {
142 std::string::size_type delim = pers.
m_token.find_first_of(
"/()");
143 if (delim != std::string::npos) {
144 const std::string persComp2 = pers.
m_token.substr(0, delim + 1);
145 for (std::vector<std::string>::const_iterator iter = form.
map().begin(), last = form.
map().end();
146 iter != last; ++iter, ++typeIdx) {
147 if (*iter == persComp2)
break;
149 if (typeIdx == form.
map().size()) {
153 }
else if (pers.
m_token ==
"DataHeader") {
154 for (std::vector<std::string>::const_iterator iter = form.
map().begin(), last = form.
map().end();
155 iter != last; ++iter, ++typeIdx) {
156 if (*iter ==
"DataHeader")
break;
158 if (typeIdx == form.
map().size()) {
166 if (delim != std::string::npos) {
174 unsigned int version = 0x0000FFFFU;
178 unsigned int keyIdx = form.
map().size(), aliasNum = trans.
m_alias.size(), clidNum = trans.
m_clids.size();
179 if (keyIdx < 0x00010000U && aliasNum < 0x00000100U && clidNum < 0x00000100U) {
183 form.
insertParam((
unsigned int)(guidIdx) * 0x00010000U + (
unsigned int)(classIdx),
entry);
184 form.
insertParam((
unsigned int)(prefixIdx) * 0x00010000U + (
unsigned int)(typeIdx),
entry);
194 form.
insertParam(keyIdx * 0x00010000U + aliasNum * 0x00000100U + clidNum,
entry);
197 for (std::set<std::string>::const_iterator iter = trans.
m_alias.begin(),
198 last = trans.
m_alias.end(); iter != last; ++iter) {
202 for (std::set<CLID>::const_iterator iter = trans.
m_clids.begin(),
203 last = trans.
m_clids.end(); iter != last; ++iter) {
206 for (std::vector<SG::sgkey_t>::const_iterator iter = trans.
m_hashes.begin(),
207 last = trans.
m_hashes.end(); iter != last; ++iter) {
220 unsigned int entry = 1;
221 const unsigned int provSize = dhForm.
params(
entry)[0];
224 std::vector<DataHeaderElement_p5>::const_iterator pit = pers.
m_dataHeader.begin();
225 for (
unsigned int i = 0U;
i < provSize; ++
i, ++
it, ++pit) {
231 for (std::vector<DataHeaderElement_p5>::const_iterator last = pers.
m_dataHeader.end();
232 pit != last; ++
it, ++pit) {
246 unsigned int entry = 1;
254 for (std::vector<DataHeaderElement>::const_iterator
it = trans.
m_dataHeader.begin(),
263 const std::string&
key,
264 const std::string& strToken)
const