Created
September 16, 2014 15:46
-
-
Save vittorioromeo/d8f3842d808efad59da4 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#define SSVU_IMPL_SINK_MN(mIT) SSVPP_TPL_ELEM(mIT, 0) | |
#define SSVU_IMPL_SINK_PN(mIT) SSVPP_TPL_ELEM(mIT, 1) | |
#define SSVU_IMPL_SINK_P_CR(mIT) const decltype(SSVU_IMPL_SINK_MN(mIT))& SSVU_IMPL_SINK_PN(mIT) | |
#define SSVU_IMPL_SINK_P_RV(mIT) decltype(SSVU_IMPL_SINK_MN(mIT))&& SSVU_IMPL_SINK_PN(mIT) | |
#define SSVU_IMPL_SINK_P_INIT(mIT) SSVU_IMPL_SINK_MN(mIT){SSVU_IMPL_SINK_PN(mIT)} | |
#define SSVU_DEFINE_SINK_CTOR_1(mClassName, mCode, m0) \ | |
inline mClassName(SSVU_IMPL_SINK_P_CR(m0)) : SSVU_IMPL_SINK_P_INIT(m0) mCode \ | |
inline mClassName(SSVU_IMPL_SINK_P_RV(m0)) : SSVU_IMPL_SINK_P_INIT(m0) mCode | |
#define SSVU_DEFINE_SINK_CTOR_2(mClassName, mCode, m0, m1) | |
#define SSVU_DEFINE_SINK_CTOR_IMPL(mClassName, mCode, mTpl) SSVPP_CAT(SSVU_DEFINE_SINK_CTOR_, SSVPP_ARGCOUNT(SSVPP_TPL_EXPLODE(mTpl))) (mClassName, mCode, SSVPP_TPL_EXPLODE(mTpl)) | |
#define SSVU_DEFINE_SINK_CTOR(mClassName, mCode, mTpl) SSVU_DEFINE_SINK_CTOR_IMPL(mClassName, mCode, mTpl) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment