linuxdcpp-team team mailing list archive
-
linuxdcpp-team team
-
Mailing list archive
-
Message #04810
[Branch ~dcplusplus-team/dcplusplus/trunk] Rev 2680: fix template params mix-up
------------------------------------------------------------
revno: 2680
committer: poy <poy@xxxxxxxxxx>
branch nick: trunk
timestamp: Wed 2011-11-16 17:57:31 +0100
message:
fix template params mix-up
modified:
dcpp/Util.h
win32/TypedTable.h
--
lp:dcplusplus
https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk
Your team Dcplusplus-team is subscribed to branch lp:dcplusplus.
To unsubscribe from this branch go to https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk/+edit-subscription
=== modified file 'dcpp/Util.h'
--- dcpp/Util.h 2011-11-14 19:24:14 +0000
+++ dcpp/Util.h 2011-11-16 16:57:31 +0000
@@ -117,8 +117,8 @@
template<typename T> struct name { \
typedef char yes[1]; \
typedef char no[2]; \
- template<typename T, T> struct type_check; \
- template<typename T> static yes& check(type_check<signature, &T::func>*); \
+ template<typename U, U> struct type_check; \
+ template<typename U> static yes& check(type_check<signature, &U::func>*); \
template<typename> static no& check(...); \
enum { value = sizeof(check<T>(0)) == sizeof(yes) }; \
}
=== modified file 'win32/TypedTable.h'
--- win32/TypedTable.h 2011-11-14 20:28:53 +0000
+++ win32/TypedTable.h 2011-11-16 16:57:31 +0000
@@ -160,18 +160,18 @@
private:
HAS_FUNC(HasText_, getText, const tstring& (ContentType::*)(int) const);
-#define HasText HasText_<ContentType>::value
+#define HasText HasText_<T>::value
HAS_FUNC(HasImage_, getImage, int (ContentType::*)(int) const);
-#define HasImage HasImage_<ContentType>::value
+#define HasImage HasImage_<T>::value
HAS_FUNC(HasSort_, compareItems, int (*)(const ContentType*, const ContentType*, int));
-#define HasSort HasSort_<ContentType>::value
+#define HasSort HasSort_<T>::value
HAS_FUNC(HasStyle_, getStyle, int (ContentType::*)(HFONT&, COLORREF&, COLORREF&, int) const);
-#define HasStyle HasStyle_<ContentType>::value
+#define HasStyle HasStyle_<T>::value
- template<typename ContentType> typename std::enable_if<HasText, void>::type addTextEvent() {
+ template<typename T> typename std::enable_if<HasText, void>::type addTextEvent() {
this->onRaw([this](WPARAM, LPARAM lParam) -> LRESULT {
auto& data = *reinterpret_cast<NMLVDISPINFO*>(lParam);
if(data.item.mask & LVIF_TEXT) {
@@ -180,9 +180,9 @@
return 0;
}, dwt::Message(WM_NOTIFY, LVN_GETDISPINFO));
}
- template<typename ContentType> typename std::enable_if<!HasText, void>::type addTextEvent() { }
+ template<typename T> typename std::enable_if<!HasText, void>::type addTextEvent() { }
- template<typename ContentType> typename std::enable_if<HasImage, void>::type addImageEvent() {
+ template<typename T> typename std::enable_if<HasImage, void>::type addImageEvent() {
this->onRaw([this](WPARAM, LPARAM lParam) -> LRESULT {
auto& data = *reinterpret_cast<NMLVDISPINFO*>(lParam);
if(data.item.mask & LVIF_IMAGE) {
@@ -191,20 +191,20 @@
return 0;
}, dwt::Message(WM_NOTIFY, LVN_GETDISPINFO));
}
- template<typename ContentType> typename std::enable_if<!HasImage, void>::type addImageEvent() { }
+ template<typename T> typename std::enable_if<!HasImage, void>::type addImageEvent() { }
- template<typename ContentType> typename std::enable_if<HasSort, void>::type addSortEvent() {
+ template<typename T> typename std::enable_if<HasSort, void>::type addSortEvent() {
this->onSortItems([this](LPARAM lhs, LPARAM rhs) { return this->handleSort<ContentType>(lhs, rhs); });
this->onColumnClick([this](int column) { this->handleColumnClick<ContentType>(column); });
}
- template<typename ContentType> typename std::enable_if<!HasSort, void>::type addSortEvent() { }
+ template<typename T> typename std::enable_if<!HasSort, void>::type addSortEvent() { }
- template<typename ContentType> typename std::enable_if<HasStyle, void>::type addStyleEvent() {
+ template<typename T> typename std::enable_if<HasStyle, void>::type addStyleEvent() {
this->onCustomDraw([this](NMLVCUSTOMDRAW& data) { return this->handleCustomDraw<ContentType>(data); });
}
- template<typename ContentType> typename std::enable_if<!HasStyle, void>::type addStyleEvent() { }
+ template<typename T> typename std::enable_if<!HasStyle, void>::type addStyleEvent() { }
- template<typename ContentType> typename std::enable_if<HasSort, int>::type getSortPos(ContentType* a) {
+ template<typename T> typename std::enable_if<HasSort, int>::type getSortPos(ContentType* a) {
int high = this->size();
if((this->getSortColumn() == -1) || (high == 0))
return high;
@@ -240,11 +240,11 @@
return mid;
}
- template<typename ContentType> typename std::enable_if<!HasSort, int>::type getSortPos(ContentType* a) {
+ template<typename T> typename std::enable_if<!HasSort, int>::type getSortPos(ContentType* a) {
return this->size();
}
- template<typename ContentType> typename std::enable_if<HasText, void>::type handleText(NMLVDISPINFO& data) {
+ template<typename T> typename std::enable_if<HasText, void>::type handleText(NMLVDISPINFO& data) {
ContentType* content = reinterpret_cast<ContentType*>(data.item.lParam);
const tstring& text = content->getText(data.item.iSubItem);
_tcsncpy(data.item.pszText, text.data(), std::min(text.size(), static_cast<size_t>(data.item.cchTextMax)));
@@ -253,12 +253,12 @@
}
}
- template<typename ContentType> typename std::enable_if<HasImage, void>::type handleImage(NMLVDISPINFO& data) {
+ template<typename T> typename std::enable_if<HasImage, void>::type handleImage(NMLVDISPINFO& data) {
ContentType* content = reinterpret_cast<ContentType*>(data.item.lParam);
data.item.iImage = content->getImage(data.item.iSubItem);
}
- template<typename ContentType> typename std::enable_if<HasSort, void>::type handleColumnClick(int column) {
+ template<typename T> typename std::enable_if<HasSort, void>::type handleColumnClick(int column) {
if(column != this->getSortColumn()) {
this->setSort(column, true);
} else if(this->isAscending()) {
@@ -268,11 +268,11 @@
}
}
- template<typename ContentType> typename std::enable_if<HasSort, int>::type handleSort(LPARAM lhs, LPARAM rhs) {
+ template<typename T> typename std::enable_if<HasSort, int>::type handleSort(LPARAM lhs, LPARAM rhs) {
return ContentType::compareItems(reinterpret_cast<ContentType*>(lhs), reinterpret_cast<ContentType*>(rhs), this->getSortColumn());
}
- template<typename ContentType> typename std::enable_if<HasStyle, LRESULT>::type handleCustomDraw(NMLVCUSTOMDRAW& data) {
+ template<typename T> typename std::enable_if<HasStyle, LRESULT>::type handleCustomDraw(NMLVCUSTOMDRAW& data) {
if(data.nmcd.dwDrawStage == CDDS_PREPAINT) {
return CDRF_NOTIFYITEMDRAW;
}