常用巨集 模板

2021-05-21 22:08:51 字數 3390 閱讀 3192

#if !defined(afx_ttemplate_h__2a080896_4b61_4dd2_a462_61957d494003__included_)

#define afx_ttemplate_h__2a080896_4b61_4dd2_a462_61957d494003__included_

#include

namespace wx

/mtype get##pn()/

//給類加屬性 引用傳遞 wx_add_attribute_1(std::string, name, str);

#define wx_comm_add_attribute_1(mtype, pn, pp) /

private:/

mtype m_##pp##pn; /

public:/

void set##pn(mtype& pp##pn) /

/mtype* get##pn()/

//給類加屬性 陣列 wx_add_attribute_2(char, arr, ch, 1024);

#define wx_comm_add_attribute_2(mtype, pn, pp, count) /

private:/

mtype m_##pp##pn[count]; /

public:/

void set##pn(mtype pp##pn, int npos) /

/void set##pn(mtype* pp##pn, mtype* (*cpy)(mtype* pobj, const mtype* psource)) /

/void set##pn(mtype* pp##pn, unsigned int ncount, /

void* (*cpy)(void* pobj, const void* psource, unsigned int ncount)) /

/mtype* get##pn()/

//給類過載 operator < c-類名 m-變數名 wx_operator_lh(cdatahint, m_nno);

#define wx_comm_operator_lh(c, m) /

public:/

bool operator < (const c& rv) const/

//浮點數的比較 std::cout << (cwxdoublecmp(1.01)>(1.01-(1.00e-07)*2)) << std::endl;

#define wx_comm_epsilon                1.00e-07

class cdoublecmp

bool cmpmh (double lfcmp)

bool cmplh (double lfcmp)

bool operator > (double lfcmp)

bool operator < (double lfcmp)

bool operator = (double lfcmp)

bool operator >= (double lfcmp)

bool operator <= (double lfcmp)

private:

double m_lfdata;

};#undef    wx_comm_epsilon

#if defined (_wx_comm_ado_)

//獲得_recordsetptr的資料        cgetadocol()(ado.getrecordsetptr(), _t("no")

//    cgetadocol()(ado.getrecordsetptr(), _t("id")

#define wx_comm_ado_msg_type_err                _t("獲取型別與傳入型別不一致")

template

class cgetadocol;

template

class cgetadocol

else}};

template

class cgetadocol

else}};

template

class cgetadocol

else}};

template

class cgetadocol

else}};

#undef    wx_comm_ado_msg_type_err

#endif

//int 資料按位移動 左移1位:wx::cmovebit()(ntemp) 右移3位:wx::cmovebit<__int64, 2, 3>()(ntemp)

template

class cmovebit

};//左移

template

class cmovebit

};//右移

template

class cmovebit

};//資料簡單加密奇偶位互換,高低位互換

//long    wx::csimencryption()(ltemp); wx::csimdencryption()(ltemp);

//char charrtemp[9] = ("我愛你");

//std::transform(charrtemp, charrtemp+6, charrtemp, wx::csimencryption());

//std::transform(charrtemp, charrtemp+6, charrtemp, wx::csimdencryption());

template

class csimencryption

};//char

template<>

class csimencryption

}; //int

template<>

class csimencryption

}; //解密

template

class csimdencryption

};//char

template<>

class csimdencryption

};//int

template<>

class csimdencryption

}; //過載() 方便在函式內使用

//    class_funcation_begin(a, int)(int m)

//   

//    class_funcation_end;

#define class_funcation_begin(classname, returntype) class classname /;}

#endif // !defined(afx_ttemplate_h__2a080896_4b61_4dd2_a462_61957d494003__included_)

DirectX常用巨集

收集於網路 一 多重取樣 列舉 d3dmultisample type 極別選擇 d3dmultisample none 禁用s d3dmultisample 1 sample d3dmultisample 2 sample d3dmultisample 3 sample d3dmultisampl...

C C 常用巨集

line file date time stdc timestamp 20 巨集定義防止錯誤使用小括號包含。例如 有問題的定義 define dump write addr,nr 應該使用的定義 difne do a,b dowhile 0 例如 if addr dump write addr,nr...

常用巨集定義

1 防止乙個標頭檔案被重複包含 ifndef comdef h define comdef h 標頭檔案內容 endif 檔案開頭處 define debug,在 中加除錯 ifdef debug endif 2重新定義一些型別,防止由於各種平台和編譯器的不同,而產生的型別位元組數差異,方便移植。t...