@@ -368,8 +368,9 @@ class CDmaDataInternal
368368
369369 const T& Value () const { return m_Storage; }
370370 T& Value ( ) { return m_Storage; }
371- const D& Data () const { return m_Storage; }
372371 D& Data ( ) { return m_Storage; }
372+ public:
373+ const D& Data () const { return m_Storage; }
373374
374375private:
375376 D m_Storage;
@@ -385,8 +386,9 @@ class CDmaDataExternal
385386 void Attach ( void *pData ) { m_pStorage = (D*)pData; }
386387 const T& Value () const { return *m_pStorage; }
387388 T& Value ( ) { return *m_pStorage; }
388- const D& Data () const { return *m_pStorage; }
389389 D& Data ( ) { return *m_pStorage; }
390+ public:
391+ const D& Data () const { return *m_pStorage; }
390392
391393private:
392394 D* m_pStorage;
@@ -1152,7 +1154,7 @@ inline void CDmaElement<T>::Init( CDmElement *pOwner, const char *pAttributeName
11521154template <class T >
11531155inline UtlSymId_t CDmaElement<T>::GetElementType() const
11541156{
1155- return this ->Data ().m_ElementType ;
1157+ return static_cast <CDmaDataInternal< const T>*>( this ) ->Data ().m_ElementType ;
11561158}
11571159
11581160template <class T >
@@ -1350,7 +1352,8 @@ inline int CDmaStringArrayBase<B>::InsertBefore( int elem, const char *pValue )
13501352template < class E , class B >
13511353inline UtlSymId_t CDmaElementArrayConstBase<E,B>::GetElementType() const
13521354{
1353- return this ->Data ().m_ElementType ;
1355+ // Fuck MSVC, anyway I'm unsure about if this code was called
1356+ return static_cast <const B*>(this )->Data ().m_ElementType ;
13541357}
13551358
13561359template < class E , class B >
0 commit comments