107 {
108 unsigned int tech = 0U, oid1 = 0U;
109 unsigned short guidIdx = 0U, classIdx = 0U, prefixIdx = 0U, typeIdx = 0U, keyPos = 0U;
110
112
114 for (std::vector<std::string>::const_iterator iter = form.
map().begin(), last = form.
map().end();
115 iter != last; ++iter, ++guidIdx) {
116 if (*iter == guid) break;
117 }
118 if (guidIdx == form.
map().size()) {
120 }
121
123 for (std::vector<std::string>::const_iterator iter = form.
map().begin(), last = form.
map().end();
124 iter != last; ++iter, ++classIdx) {
125 if (*iter == clid) break;
126 }
127 if (classIdx == form.
map().size()) {
129 }
130
132
133 std::string::size_type delim = pers.
m_token.find_first_of(
"_/(");
134 if (delim != std::string::npos) {
135 const std::string persComp1 = pers.
m_token.substr(0, delim + 1);
136 for (std::vector<std::string>::const_iterator iter = form.
map().begin(), last = form.
map().end();
137 iter != last; ++iter, ++prefixIdx) {
138 if (*iter == persComp1) break;
139 }
140 if (prefixIdx == form.
map().size()) {
142 }
144
145
147 std::string::size_type delim = pers.
m_token.find_first_of(
"/()");
148 if (delim != std::string::npos) {
149 const std::string persComp2 = pers.
m_token.substr(0, delim + 1);
150 for (std::vector<std::string>::const_iterator iter = form.
map().begin(), last = form.
map().end();
151 iter != last; ++iter, ++typeIdx) {
152 if (*iter == persComp2) break;
153 }
154 if (typeIdx == form.
map().size()) {
156 }
158 }
else if (pers.
m_token ==
"DataHeader") {
159 for (std::vector<std::string>::const_iterator iter = form.
map().begin(), last = form.
map().end();
160 iter != last; ++iter, ++typeIdx) {
161 if (*iter == "DataHeader") break;
162 }
163 if (typeIdx == form.
map().size()) {
165 }
167 }
168 }
169 }
171 if (delim != std::string::npos) {
172 keyPos = delim + 1;
174 }
178 }
179 unsigned int version = 0x0000FFFFU;
180 if (tech == 514) {
182 }
183 unsigned int keyIdx = form.
map().size(), aliasNum = trans.
m_alias.size(), clidNum = trans.
m_clids.size();
184 if (keyIdx < 0x00010000U && aliasNum < 0x00000100U && clidNum < 0x00000100U) {
186 }
187 form.
insertParam((
unsigned int)(keyPos) * 0x00010000U + version, entry);
188 form.
insertParam((
unsigned int)(guidIdx) * 0x00010000U + (
unsigned int)(classIdx), entry);
189 form.
insertParam((
unsigned int)(prefixIdx) * 0x00010000U + (
unsigned int)(typeIdx), entry);
190 if (version&0x00000001U) {
192 }
194 if (version&0x00000010U) {
198 } else {
199 form.
insertParam(keyIdx * 0x00010000U + aliasNum * 0x00000100U + clidNum, entry);
200 }
202 for (
const std::string&
a : trans.
m_alias) {
204 }
208 }
209 for (std::vector<SG::sgkey_t>::const_iterator iter = trans.
m_hashes.begin(),
210 last = trans.
m_hashes.end(); iter != last; ++iter) {
212 }
213}
uint32_t CLID
The Class ID type.
constexpr void toString(std::span< char, StrLen > buf, bool uppercase=true) const noexcept
Automatic conversion to string representation.
const std::string & contID() const
Access container identifier.
const Guid & classID() const
Access database identifier.
int technology() const
Access technology type.
const OID_t & oid() const
Access object identifier.
const Guid & dbID() const
Access database identifier.
constexpr uint32_t sgkeyShort(const sgkey_t k)
Convert a sgkey to the 32-bit form used for older data.