Toward Opaque Typedefs for C++1Y
Although this paper is self-contained, it logically follows our discussion, begun several years ago in N1706 and continued in N1891, of a feature oft-requested for C++: an opaque typedef , sometimes termed a strong typedef . The earlier of those works was presented to WG21 on 2004-10-20 during the Redmond meeting, and the later work was presented during the Berlin meeting on 2005-04-06. Both presentations resulted in very strong encouragement to continue development of such a language feature.1 Alas, the press of other obligations has until recently not permitted us to resume our explorations.
Progress toward Opaque Typedefs for C + + 0 X
This paper continues the discussion begun in N1706 [Bro04]. That paper presented introductory rationale, exposition, and examples as a preliminary exploration on the subject of an opaque typedef . In particular, we envisioned to combine the classical typedef with the C++ concepts of public and private inheritance, thereby producing two new constructs that would jointly address the oft-requested opaque typedef feature. That early work was presented to the C++ standards bodies on October 20, 2004, at their meeting in Redmond, Washington, USA. The presentation resulted in very strong encouragement
Subject index
Adoptive immunotherapy A1, A63, A63, A64, A64, A65, A66, A68, A69, A69, A70, A70, A71, A71, A72, A72, A73, A73, A74, A75, A76, A78, A79, A79, A7, A80, A80, A81, A81, A82, A84, A85, A86, A86, A88, A88, A89, A90, A90, A91, A92, A93, A93, A94, A95, A95, A96, A96, A97, A97, A98, A98, A99, A99, A102, A103, A104, A104, A166, A167, A169, A170, A174, A177, A179, A181, A182, A199, A204, A205, A21, A215, A220, A231, A231, A243, A251, A254, A25, A276, A287, A304, A307, A310, A315, A316, A316, A329, A331, A333, A357, A358, A369, A405, A441, A442, A458, A458, A459, A459, A461, A461, A463, A468, A468, A479, A492, A497, A497, A56, A58, A58, A59, A60, A60, A61, 1, 100, 101, 102, 103, 104, 106, 109, 111, 112, 113, 114, 115, 116, 117, 119, 120, 122, 123, 124, 125, 127, 128, 129, 13, 130, 131, 133, 134, 136, 139, 140, 141, 142, 146, 147, 148, 149, 150, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 163, 164, 165, 166, 167, 169, 173, 174, 175, 272, 273, 278, 280, 285, 290, 293, 297, 298, 324, 333, 335, 35, 353, 360, 379, 380, 400, 414, 418, 42, 454, 470, 493, 500, 504, 513, 515, 516, 542, 545, 549, 598, 599, 614, 675, 737, 739, 764, 765, 766, 767, 770, 771, 772, 780, 781, 801, 822, 830, 831, 89, 91, 92, 94, 95, 96, 98 Angiogenesis A108, A155, A171, A200, A201, A214, A228, A265, A305, A349, A350, A359, A410, A47, A48, A480, A483, A519, A5, 181, 257, 281, 327, 328, 351, 374, 435, 495, 583, 584, 602, 683, 76, 78, 802, 808, 873, 9 Antibody A7, A73, A81, A86, A91, A8, A99, A9, A104, A108, A108, A109, A109, A111, A115, A119, A126, A128, A130, A135, A138, A141, A144, A151, A153, A159, A160, A163, A164, A164, A171, A172, A175, A176, A2, A187, A193, A193, A195, A195, A198, A199, A20, A209, A212, A225, A229, A230, A23, A233, A233, A235, A239, A239, A240, A242, A244, A244, A245, A245, A246, A247, A247, A24, A250, A256, A260, A261, A266, A267, A268, A269, A273, A275, A286, A288, A292, A293, A296, A299, A300, A307, A3, A308, A31, A318, A324, A35, A334, A334, A336, A338, A339, A342, A343, A344, A344, A346, A346, A351, A351, A353, A356, A360, A361, A363, A368, A369, A370, A371, A372, A372, A373, A374, A376, A377, A378, A378, A379, A379, A380, A380, A388, A391, A399, A399, A41, A402, A410, A410, A411, A412, A414, A417, A418, A419, A419, A420, A422, A422, A423, A426, A427, A428, A428, A430, A431, A432, A434, A434, A435, A446, A454, A455, A459, A463, A465, A468, A468, A469, A474, A481, A483, A50, A486, A487, A491, A502, A502, A504, A507, A507, A508, A510, A511, A512, A512, A516, 12, 122, 133, 141, 151, 16, 167, 17, 174, 181, 182, 184, 185, 188, 195, 203, 210, 215, 218, 227, 231, 237, 243, 250, 253, 261, 262, 265, 267, 268, 281, 282, 287, 288, 3, 305, 313, 315, 317, 318, 323, 325, 34, 342, 348, 369, 377, 378, 38, 384, 385, 387, 393, 394, 395, 399, 401, 402, 403, 404, 405, 406, 407, 41, 412, 421, 428, 429, 438, 439, 442, 443, 450, 453, 469, 472, 476, 478, 480, 483, 486, 499, 5, 501, 51, 519, 531, 55, 550, 552, 557, 561, 562, 569, 571, 572, 573, 576, 578, 586, 587, 590, 594, 603, 605, 607, 612, 615, 616, 617, 618, 619, 621, 622, 626, 629, 630, 631, 632, 633, 634, 635, 647, 653, 665, 666, 67, 670, 683, 684, 686, 687, 690, 693, 696, 697, 698, 699, 702, 703, 704, 711, 713, 714, 715, 718, 721, 722, 725, 726, 727, 745, 757, 760, 766, 772, 776, 780, 781, 785, 793, 804, 808, 81, 812, 814, 820, 842, 843, 846, 851, 852, 853, 856, 858, 860, 861, 869 Antigen presenting cells A67, A79, A80, A92, A95, A96, A99, A99, A101, A102, A102, A108, A108, A111, A129, A139, A160, A166, A177, A178, A183, A191, A191, A213, A220, A221, A245, A254, A256, A262, A266, A275, A314, A322, A327, A328, A35, A335, A345, A359, A359, A360, A361, A364, A366, A368, A369, A371, A372, A403, A409, A411, A411, A418, A422, A433, A449, A48, A468, A471, A472, A4, A50, A495, A502, A506, A513, A514, A515, 108, 128, 130, 153, 157, 160, 166, 167, 168, 169, 170, 181, 182, 188, 217, 235, 263, 271, 290, 291, 299, 310, 311, 349, 360, 362, 404, 418, 421, 431, 438, 453, 510, 526, 538, 540, 55, 553, 575, 601, 602, 603, 605, 610, 611, 612, 615, 617, 618, 672, 682, 685, 686, 695, 703, 724, 748, 78, 780, 787, 790, 8, 81, 828, 842, 849, 862, 864, 868 Autoimmunity A8, A116, A15, A180, A181, A22, A380, A387, A394, A395, A402, A408, A502, A510, 16, 197, 27, 295, 296, 37, 637, 645, 657, 658, 671, 680, 843, 856