@@ -368,8 +368,9 @@ class CDmaDataInternal
368
368
369
369
const T& Value () const { return m_Storage; }
370
370
T& Value ( ) { return m_Storage; }
371
- const D& Data () const { return m_Storage; }
372
371
D& Data ( ) { return m_Storage; }
372
+ public:
373
+ const D& Data () const { return m_Storage; }
373
374
374
375
private:
375
376
D m_Storage;
@@ -385,8 +386,9 @@ class CDmaDataExternal
385
386
void Attach ( void *pData ) { m_pStorage = (D*)pData; }
386
387
const T& Value () const { return *m_pStorage; }
387
388
T& Value ( ) { return *m_pStorage; }
388
- const D& Data () const { return *m_pStorage; }
389
389
D& Data ( ) { return *m_pStorage; }
390
+ public:
391
+ const D& Data () const { return *m_pStorage; }
390
392
391
393
private:
392
394
D* m_pStorage;
@@ -1152,7 +1154,7 @@ inline void CDmaElement<T>::Init( CDmElement *pOwner, const char *pAttributeName
1152
1154
template <class T >
1153
1155
inline UtlSymId_t CDmaElement<T>::GetElementType() const
1154
1156
{
1155
- return this ->Data ().m_ElementType ;
1157
+ return static_cast <CDmaDataInternal< const T>*>( this ) ->Data ().m_ElementType ;
1156
1158
}
1157
1159
1158
1160
template <class T >
@@ -1350,7 +1352,8 @@ inline int CDmaStringArrayBase<B>::InsertBefore( int elem, const char *pValue )
1350
1352
template < class E , class B >
1351
1353
inline UtlSymId_t CDmaElementArrayConstBase<E,B>::GetElementType() const
1352
1354
{
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 ;
1354
1357
}
1355
1358
1356
1359
template < class E , class B >
0 commit comments