📄 rv4p.c
字号:
// I, Howard Hinnant, hereby place this code in the public domain.// Test overlaod resolution among referece types// { dg-do compile }// { dg-options "-std=c++0x" }template <bool> struct sa;template <> struct sa<true> {};struct one {char x[1];};struct two {char x[2];};struct three {char x[3];};struct four {char x[4];};struct five {char x[5];};struct six {char x[6];};struct seven {char x[7];};struct eight {char x[8];};struct A{ A(); A(const volatile A&&);}; A source();const A c_source(); volatile A v_source();const volatile A cv_source();// 4 at a timeone sink_4_1234( A&);two sink_4_1234(const A&);three sink_4_1234(volatile A&);four sink_4_1234(const volatile A&);int test4_1234(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_4_1234(a)) == 1> t1; sa<sizeof(sink_4_1234(ca)) == 2> t2; sa<sizeof(sink_4_1234(va)) == 3> t3; sa<sizeof(sink_4_1234(cva)) == 4> t4; sa<sizeof(sink_4_1234(source())) == 2> t5; sa<sizeof(sink_4_1234(c_source())) == 2> t6; return 0;}one sink_4_1235( A&);two sink_4_1235(const A&);three sink_4_1235(volatile A&);five sink_4_1235( A&&);int test4_1235(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_4_1235(a)) == 1> t1; sa<sizeof(sink_4_1235(ca)) == 2> t2; sa<sizeof(sink_4_1235(va)) == 3> t3; sa<sizeof(sink_4_1235(source())) == 5> t5; sa<sizeof(sink_4_1235(c_source())) == 2> t6; return 0;}one sink_4_1236( A&);two sink_4_1236(const A&);three sink_4_1236(volatile A&);six sink_4_1236(const A&&);int test4_1236(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_4_1236(a)) == 1> t1; sa<sizeof(sink_4_1236(ca)) == 2> t2; sa<sizeof(sink_4_1236(va)) == 3> t3; sa<sizeof(sink_4_1236(source())) == 6> t5; sa<sizeof(sink_4_1236(c_source())) == 6> t6; return 0;}one sink_4_1237( A&);two sink_4_1237(const A&);three sink_4_1237(volatile A&);seven sink_4_1237(volatile A&&);int test4_1237(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_4_1237(a)) == 1> t1; sa<sizeof(sink_4_1237(ca)) == 2> t2; sa<sizeof(sink_4_1237(va)) == 3> t3; sa<sizeof(sink_4_1237(source())) == 7> t5; sa<sizeof(sink_4_1237(c_source())) == 2> t6; sa<sizeof(sink_4_1237(v_source())) == 7> t7; return 0;}one sink_4_1238( A&);two sink_4_1238(const A&);three sink_4_1238(volatile A&);eight sink_4_1238(const volatile A&&);int test4_1238(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_4_1238(a)) == 1> t1; sa<sizeof(sink_4_1238(ca)) == 2> t2; sa<sizeof(sink_4_1238(va)) == 3> t3; sa<sizeof(sink_4_1238(cva)) == 8> t4; sa<sizeof(sink_4_1238(source())) == 8> t5; sa<sizeof(sink_4_1238(c_source())) == 8> t6; sa<sizeof(sink_4_1238(v_source())) == 8> t7; sa<sizeof(sink_4_1238(cv_source())) == 8> t8; return 0;}one sink_4_1245( A&);two sink_4_1245(const A&);four sink_4_1245(const volatile A&);five sink_4_1245( A&&);int test4_1245(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_4_1245(a)) == 1> t1; sa<sizeof(sink_4_1245(ca)) == 2> t2; sa<sizeof(sink_4_1245(va)) == 4> t3; sa<sizeof(sink_4_1245(cva)) == 4> t4; sa<sizeof(sink_4_1245(source())) == 5> t5; sa<sizeof(sink_4_1245(c_source())) == 2> t6; return 0;}one sink_4_1246( A&);two sink_4_1246(const A&);four sink_4_1246(const volatile A&);six sink_4_1246(const A&&);int test4_1246(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_4_1246(a)) == 1> t1; sa<sizeof(sink_4_1246(ca)) == 2> t2; sa<sizeof(sink_4_1246(va)) == 4> t3; sa<sizeof(sink_4_1246(cva)) == 4> t4; sa<sizeof(sink_4_1246(source())) == 6> t5; sa<sizeof(sink_4_1246(c_source())) == 6> t6; return 0;}one sink_4_1247( A&);two sink_4_1247(const A&);four sink_4_1247(const volatile A&);seven sink_4_1247(volatile A&&);int test4_1247(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_4_1247(a)) == 1> t1; sa<sizeof(sink_4_1247(ca)) == 2> t2; sa<sizeof(sink_4_1247(va)) == 4> t3; sa<sizeof(sink_4_1247(cva)) == 4> t4; sa<sizeof(sink_4_1247(source())) == 7> t5; sa<sizeof(sink_4_1247(c_source())) == 2> t6; sa<sizeof(sink_4_1247(v_source())) == 7> t7; return 0;}one sink_4_1248( A&);two sink_4_1248(const A&);four sink_4_1248(const volatile A&);eight sink_4_1248(const volatile A&&);int test4_1248(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_4_1248(a)) == 1> t1; sa<sizeof(sink_4_1248(ca)) == 2> t2; sa<sizeof(sink_4_1248(va)) == 4> t3; sa<sizeof(sink_4_1248(cva)) == 4> t4; sa<sizeof(sink_4_1248(source())) == 8> t5; sa<sizeof(sink_4_1248(c_source())) == 8> t6; sa<sizeof(sink_4_1248(v_source())) == 8> t7; sa<sizeof(sink_4_1248(cv_source())) == 8> t8; return 0;}one sink_4_1256( A&);two sink_4_1256(const A&);five sink_4_1256( A&&);six sink_4_1256(const A&&);int test4_1256(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_4_1256(a)) == 1> t1; sa<sizeof(sink_4_1256(ca)) == 2> t2; sa<sizeof(sink_4_1256(source())) == 5> t5; sa<sizeof(sink_4_1256(c_source())) == 6> t6; return 0;}one sink_4_1257( A&);two sink_4_1257(const A&);five sink_4_1257( A&&);seven sink_4_1257(volatile A&&);int test4_1257(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_4_1257(a)) == 1> t1; sa<sizeof(sink_4_1257(ca)) == 2> t2; sa<sizeof(sink_4_1257(va)) == 7> t3; sa<sizeof(sink_4_1257(source())) == 5> t5; sa<sizeof(sink_4_1257(c_source())) == 2> t6; sa<sizeof(sink_4_1257(v_source())) == 7> t7; return 0;}one sink_4_1258( A&);two sink_4_1258(const A&);five sink_4_1258( A&&);eight sink_4_1258(const volatile A&&);int test4_1258(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_4_1258(a)) == 1> t1; sa<sizeof(sink_4_1258(ca)) == 2> t2; sa<sizeof(sink_4_1258(va)) == 8> t3; sa<sizeof(sink_4_1258(cva)) == 8> t4; sa<sizeof(sink_4_1258(source())) == 5> t5; sa<sizeof(sink_4_1258(c_source())) == 8> t6; sa<sizeof(sink_4_1258(v_source())) == 8> t7; sa<sizeof(sink_4_1258(cv_source())) == 8> t8; return 0;}one sink_4_1267( A&);two sink_4_1267(const A&);six sink_4_1267(const A&&);seven sink_4_1267(volatile A&&);int test4_1267(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_4_1267(a)) == 1> t1; sa<sizeof(sink_4_1267(ca)) == 2> t2; sa<sizeof(sink_4_1267(va)) == 7> t3; sa<sizeof(sink_4_1267(c_source())) == 6> t6; sa<sizeof(sink_4_1267(v_source())) == 7> t7; return 0;}one sink_4_1268( A&);two sink_4_1268(const A&);six sink_4_1268(const A&&);eight sink_4_1268(const volatile A&&);int test4_1268(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_4_1268(a)) == 1> t1; sa<sizeof(sink_4_1268(ca)) == 2> t2; sa<sizeof(sink_4_1268(va)) == 8> t3; sa<sizeof(sink_4_1268(cva)) == 8> t4; sa<sizeof(sink_4_1268(source())) == 6> t5; sa<sizeof(sink_4_1268(c_source())) == 6> t6; sa<sizeof(sink_4_1268(v_source())) == 8> t7; sa<sizeof(sink_4_1268(cv_source())) == 8> t8; return 0;}one sink_4_1278( A&);two sink_4_1278(const A&);seven sink_4_1278(volatile A&&);eight sink_4_1278(const volatile A&&);int test4_1278(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_4_1278(a)) == 1> t1; sa<sizeof(sink_4_1278(ca)) == 2> t2; sa<sizeof(sink_4_1278(va)) == 7> t3; sa<sizeof(sink_4_1278(cva)) == 8> t4; sa<sizeof(sink_4_1278(source())) == 7> t5; sa<sizeof(sink_4_1278(c_source())) == 8> t6; sa<sizeof(sink_4_1278(v_source())) == 7> t7; sa<sizeof(sink_4_1278(cv_source())) == 8> t8; return 0;}one sink_4_1345( A&);three sink_4_1345(volatile A&);four sink_4_1345(const volatile A&);five sink_4_1345( A&&);int test4_1345(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_4_1345(a)) == 1> t1; sa<sizeof(sink_4_1345(ca)) == 4> t2; sa<sizeof(sink_4_1345(va)) == 3> t3; sa<sizeof(sink_4_1345(cva)) == 4> t4; sa<sizeof(sink_4_1345(source())) == 5> t5; return 0;}one sink_4_1346( A&);three sink_4_1346(volatile A&);four sink_4_1346(const volatile A&);six sink_4_1346(const A&&);int test4_1346(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_4_1346(a)) == 1> t1; sa<sizeof(sink_4_1346(ca)) == 4> t2; sa<sizeof(sink_4_1346(va)) == 3> t3; sa<sizeof(sink_4_1346(cva)) == 4> t4; sa<sizeof(sink_4_1346(source())) == 6> t5; sa<sizeof(sink_4_1346(c_source())) == 6> t6; return 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -