...
swizzler<2, 1, 2, 0>::type zyzx, bgbr, ptps;
swizzler<2, 1, 2, 1>::type zyzy, bgbg, ptpt;
swizzler<2, 1, 2, 2>::type zyzz, bgbb, ptpp;
swizzler<2, 2, 0, 0>::type zzxx, bbrr, ppss;
swizzler<2, 2, 0, 1>::type zzxy, bbrg, ppst;
swizzler<2, 2, 0, 2>::type zzxz, bbrb, ppsp;
swizzler<2, 2, 1, 0>::type zzyx, bbgr, ppts;
swizzler<2, 2, 1, 1>::type zzyy, bbgg, pptt;
swizzler<2, 2, 1, 2>::type zzyz, bbgb, pptp;
swizzler<2, 2, 2, 0>::type zzzx, bbbr, ppps;
swizzler<2, 2, 2, 1>::type zzzy, bbbg, pppt;
swizzler<2, 2, 2, 2>::type zzzz, bbbb, pppp;
};