Lines Matching refs:m_path
130 SubTypeAccess& member (int ndx) { m_path.push_back(VarTypeComponent(VarTypeComponent::STRUCT_MEMBER, ndx)); DE_ASSERT(isValid()); return *this; } //!< Access struct element.
131 SubTypeAccess& element (int ndx) { m_path.push_back(VarTypeComponent(VarTypeComponent::ARRAY_ELEMENT, ndx)); DE_ASSERT(isValid()); return *this; } //!< Access array element.
132 SubTypeAccess& column (int ndx) { m_path.push_back(VarTypeComponent(VarTypeComponent::MATRIX_COLUMN, ndx)); DE_ASSERT(isValid()); return *this; } //!< Access column.
133 SubTypeAccess& component (int ndx) { m_path.push_back(VarTypeComponent(VarTypeComponent::VECTOR_COMPONENT, ndx)); DE_ASSERT(isValid()); return *this; } //!< Access component.
134 SubTypeAccess& parent (void) { DE_ASSERT(!m_path.empty()); m_path.pop_back(); return *this; }
142 bool isValid (void) const { return isValidTypePath(m_type, m_path); }
143 VarType getType (void) const { return getVarType(m_type, m_path); }
144 const TypeComponentVector& getPath (void) const { return m_path; }
146 bool empty (void) const { return m_path.empty(); }
148 bool operator== (const SubTypeAccess& other) const { return m_path == other.m_path && m_type == other.m_type; }
149 bool operator!= (const SubTypeAccess& other) const { return m_path != other.m_path || m_type != other.m_type; }
153 TypeComponentVector m_path;
166 bool operator== (const SubTypeIterator<IsExpanded>& other) const { return m_type == other.m_type && m_path == other.m_path; }
167 bool operator!= (const SubTypeIterator<IsExpanded>& other) const { return m_type != other.m_type || m_path != other.m_path; }
172 void toStream (std::ostream& str) const { str << TypeAccessFormat(*m_type, m_path); }
173 VarType getType (void) const { return getVarType(*m_type, m_path.begin(), m_path.end()); }
174 const TypeComponentVector& getPath (void) const { return m_path; }
185 TypeComponentVector m_path;
214 if (!m_path.empty())
219 if (!m_path.empty())
227 DE_ASSERT(IsExpanded()(getVarType(*m_type, m_path)));
237 DE_ASSERT(m_type && !m_path.empty());
240 while (!m_path.empty())
242 VarTypeComponent& curComp = m_path.back();
243 VarType parentType = getVarType(*m_type, m_path.begin(), m_path.end()-1);
270 m_path.pop_back();
277 if (!m_path.empty())
280 VarTypeComponent& curComp = m_path.back();
286 VarType curType = getVarType(*m_type, m_path);
297 m_path.push_back(VarTypeComponent(VarTypeComponent::MATRIX_COLUMN, 0));
299 m_path.push_back(VarTypeComponent(VarTypeComponent::VECTOR_COMPONENT, 0));
304 m_path.push_back(VarTypeComponent(VarTypeComponent::ARRAY_ELEMENT, 0));
306 m_path.push_back(VarTypeComponent(VarTypeComponent::STRUCT_MEMBER, 0));