Lines Matching full:arg2
36 // Replaces all occurrences of _1 with Arg1 and _2 with Arg2 in T.
37 template<typename T, typename Arg1, typename Arg2>
43 template<typename Arg1, typename Arg2>
44 struct Replace<_1, Arg1, Arg2> {
48 template<typename Arg1, typename Arg2>
49 struct Replace<_2, Arg1, Arg2> {
50 typedef Arg2 type;
54 template<typename T, typename Arg1, typename Arg2>
55 struct Replace<const T, Arg1, Arg2> {
56 typedef typename Replace<T, Arg1, Arg2>::type const type;
60 template<template<typename> class TT, typename T1, typename Arg1, typename Arg2>
61 struct Replace<TT<T1>, Arg1, Arg2> {
62 typedef TT<typename Replace<T1, Arg1, Arg2>::type> type;
66 typename Arg1, typename Arg2>
67 struct Replace<TT<T1, T2>, Arg1, Arg2> {
68 typedef TT<typename Replace<T1, Arg1, Arg2>::type,
69 typename Replace<T2, Arg1, Arg2>::type> type;
74 typename Arg1, typename Arg2>
75 struct Replace<TT<T1, _2>, Arg1, Arg2> {
76 typedef TT<typename Replace<T1, Arg1, Arg2>::type, Arg2> type;