- Timestamp:
- Oct 29, 2020, 1:43:33 PM (4 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 93068e53
- Parents:
- c960331
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/proposals/vtable.md
rc960331 r936d95c 512 512 possibly like the one used to create the assertion. 513 513 514 ### Extension: Associated Types Use 515 If the `associated_types.md` proposal is accepted the following trait could 516 be added: 517 518 trait is_virtual(dtype T) { 519 dtype table; 520 // An example assertion: 521 const table & get_virtual_table(T &); 522 } 523 524 There may be more assertions but there has to be at least one way to find 525 the (possibly default) virtual table. It is required to construct instances 526 of the type. 527 528 Without the assotiated type it would look like this: 529 530 trait is_virtual(dtype T, dtype table) { 531 const table & get_virtual_table(T &); 532 } 533 534 Which is just a little bit longer to use but becomes more problematic if the 535 user has to explicately provide the table's name as it doesn't really have its 536 own type name. If it does it is probably mangled. 537 514 538 ### Virtual Tables as Types 515 539 Here we consider encoding plus the implementation of functions on it to be a
Note: See TracChangeset
for help on using the changeset viewer.