20 #ifndef H_GUARD_CLUTIL_H
21 #define H_GUARD_CLUTIL_H
36 namespace CodeStorage {
46 return !(cltA == cltB);
62 return includingArray;
140 template <
class TVisitor>
142 bool digOnlyComposite =
false)
148 done.insert(clt->
uid);
157 std::stack<TItem> todo;
159 while (!todo.empty()) {
160 TItem &si = todo.top();
161 assert(!si.ic.empty());
163 typename TFieldIdxChain::reference nth = si.ic.back();
164 if (nth == si.clt->item_cnt) {
167 done.erase(si.clt->uid);
181 if (!visitor(icConst, item))
190 const int uid = item->
type->
uid;
191 if (done.end() == done.find(uid)) {
196 next.clt = item->
type;
198 next.ic.push_back(0);
213 const struct cl_loc **pLoc = 0);