Add pragma to fix inclusion issues with linklist.h

This commit is contained in:
Cuyler36
2023-12-05 19:42:22 -05:00
parent 2b5141fae2
commit 3d723e8887
5 changed files with 30 additions and 40 deletions
+21 -16
View File
@@ -183,6 +183,9 @@ private:
TLinkListNode oNode_;
};
#pragma push
#pragma sym off /* required to prevent messing up other TU layouts */
template <typename T, int O>
class TLinkList : public TNodeLinkList {
public:
@@ -245,56 +248,58 @@ public:
TNodeLinkList::const_iterator mIt;
};
inline iterator begin() { return TNodeLinkList::begin(); }
inline const_iterator begin() const { return const_cast<TLinkList*>(this)->begin(); }
iterator begin() { return TNodeLinkList::begin(); }
const_iterator begin() const { return const_cast<TLinkList*>(this)->begin(); }
inline iterator end() { return TNodeLinkList::end(); }
inline const_iterator end() const { return const_cast<TLinkList*>(this)->end(); }
iterator end() { return TNodeLinkList::end(); }
const_iterator end() const { return const_cast<TLinkList*>(this)->end(); }
inline iterator Find(const T* p) { return TNodeLinkList::Find(TLinkList::Element_toNode(p)); }
inline iterator Erase(T* p) { return TNodeLinkList::Erase(Element_toNode(p)); }
inline iterator Insert(iterator it, T *p) { return TNodeLinkList::Insert(it.mIt, TLinkList::Element_toNode(p)); }
inline void Remove(T* p) { TNodeLinkList::Remove(TLinkList::Element_toNode(p)); }
inline void Push_front(T* p) { Insert(begin(), p); }
inline void Push_back(T* p) { Insert(end(), p); }
iterator Find(const T* p) { return TNodeLinkList::Find(TLinkList::Element_toNode(p)); }
iterator Erase(T* p) { return TNodeLinkList::Erase(Element_toNode(p)); }
iterator Insert(iterator it, T *p) { return TNodeLinkList::Insert(it.mIt, TLinkList::Element_toNode(p)); }
void Remove(T* p) { TNodeLinkList::Remove(TLinkList::Element_toNode(p)); }
void Push_front(T* p) { Insert(begin(), p); }
void Push_back(T* p) { Insert(end(), p); }
inline T& front() {
T& front() {
#line 642
JUT_ASSERT(!empty());
return *begin();
}
inline T& back() {
T& back() {
#line 652
JUT_ASSERT(!empty());
return *--end();
}
static inline TLinkListNode* Element_toNode(T* p) {
static TLinkListNode* Element_toNode(T* p) {
#line 753
JUT_ASSERT(p!=0);
return (TLinkListNode*)((char*)p - O);
}
static inline const TLinkListNode* Element_toNode(const T* p) {
static const TLinkListNode* Element_toNode(const T* p) {
#line 758
JUT_ASSERT(p!=0);
return (const TLinkListNode*)((const char*)p - O);
}
static inline T* Element_toValue(TLinkListNode* p) {
static T* Element_toValue(TLinkListNode* p) {
#line 763
JUT_ASSERT(p!=0);
return (T*)((char*)p + O);
}
static inline const T* Element_toValue(const TLinkListNode* p) {
static const T* Element_toValue(const TLinkListNode* p) {
#line 768
JUT_ASSERT(p!=0);
return (const T*)((const char*)p + O);
}
};
#pragma pop
}
#endif
+2 -1
View File
@@ -8,9 +8,10 @@
#include "JSystem/JSupport/JSUList.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JKernel/JKRDisposer.h"
#include "JSystem/JUtility/JUTConsole.h"
struct JKRThread;
class JUTConsole;
//class JUTConsole;
struct JKRThreadName_
{
+6 -1
View File
@@ -5,7 +5,6 @@
#include "JSystem/JGadget/linklist.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JUtility/JUTFont.h"
#include "JSystem/JUtility/JUTConsoleExtern.h"
inline s32 colorCheck(s32 diff, s32 t)
{
@@ -158,6 +157,12 @@ JUTConsole* JUTGetReportConsole();
void JUTSetReportConsole(JUTConsole*);
JUTConsole* JUTGetWarningConsole();
void JUTSetWarningConsole(JUTConsole*);
void JUTReportConsole(const char*);
void JUTReportConsole_f(const char*, ...);
void JUTReportConsole_f_va(const char*, va_list);
void JUTWarningConsole(const char*);
void JUTWarningConsole_f(const char*, ...);
void JUTWarningConsole_f_va(const char*, va_list);
};
#endif
@@ -1,21 +0,0 @@
#ifndef JUTCONSOLEEXTERN_H
#define JUTCONSOLEEXTERN_H
#include "types.h"
#include "va_args.h"
#ifdef __cplusplus
extern "C"
{
#endif
void JUTReportConsole(const char*);
void JUTReportConsole_f(const char*, ...);
void JUTReportConsole_f_va(const char*, va_list);
void JUTWarningConsole(const char*);
void JUTWarningConsole_f(const char*, ...);
void JUTWarningConsole_f_va(const char*, va_list);
#ifdef __cplusplus
};
#endif // ifdef __cplusplus
#endif
+1 -1
View File
@@ -1,7 +1,7 @@
#include "JSystem/JSupport.h"
#include "JSystem/JUtility/JUTAssertion.h"
#include "JSystem/JKernel/JKRExpHeap.h"
#include "JSystem/JUtility/JUTConsoleExtern.h"
#include "JSystem/JUtility/JUTConsole.h"
#include "JSystem/JMacro.h"
static u32 whatdo;