mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
delete four out-of-line declarations that repeat the class body
Each of these says again, outside the class, what the class already declares:
template <int N>
void TestTableTemplate<N>::SetRefresh();
SetRefresh and Init are declared as members a few dozen lines above, so these
add nothing. A member named out of line has to be a definition; MSVC lets the
declaration through, clang does not.
None of the three templates ever defines these members generically. Every
instantiation supplies its own, as an explicit specialization next to the
screen that uses it, and those are untouched:
template<> void DropDownTemplate<DROPDOWNNR_APPEARANCE>::SetRefresh()
{ gfIMPPrejudice_Redraw = TRUE; }
The mpSelf lines that follow each of these look similar but are definitions of
a static data member, so they stay.
Verification:
grep -rn 'Template<N>::' --include=*.h Laptop/ # only mpSelf definitions
ninja -C build parse # out-of-line class gone: 28 -> 24 sites
ninja -C build -k 0 # Release, four applications, green
ninja -C build-debug -k 0 # Debug, four applications, green
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
committed by
majcosta
co-authored by
Claude Opus 4.8
parent
1bf28bc07a
commit
e7095999df
@@ -448,12 +448,6 @@ private:
|
||||
void operator=(TestTableTemplate const&);
|
||||
};
|
||||
|
||||
template <int N>
|
||||
void TestTableTemplate<N>::SetRefresh();
|
||||
|
||||
template <int N>
|
||||
void TestTableTemplate<N>::Init( UINT16 sX, UINT16 sY, UINT16 sX_End, UINT16 sY_End );
|
||||
|
||||
template <int N>
|
||||
void* TestTableTemplate<N>::mpSelf = NULL;
|
||||
|
||||
@@ -520,9 +514,6 @@ private:
|
||||
void operator=(TabBoxTemplate const&);
|
||||
};
|
||||
|
||||
template <int N>
|
||||
void TabBoxTemplate<N>::SetRefresh( );
|
||||
|
||||
template <int N>
|
||||
void* TabBoxTemplate<N>::mpSelf = NULL;
|
||||
|
||||
|
||||
@@ -417,9 +417,6 @@ private:
|
||||
void operator=(DropDownTemplate const&);
|
||||
};
|
||||
|
||||
template <int N>
|
||||
void DropDownTemplate<N>::SetRefresh();
|
||||
|
||||
template <int N>
|
||||
void* DropDownTemplate<N>::mpSelf = NULL;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user