β
Existential container β ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ
Π² Swift, ΠΊΠΎΡΠΎΡΠ°Ρ Ρ
ΡΠ°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ², ΡΠΊΡΡΡΡΡ
Π·Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌΠΈ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.βοΈ
Existential container Π΄Π»Ρ non class-constrained ΡΠΈΠΏΠΎΠ² Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 5 ΠΌΠ°ΡΠΈΠ½Π½ΡΡ
ΡΠ»ΠΎΠ² (40 Π±Π°ΠΉΡ) ΠΈ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 24 Π±Π°ΠΉΡ Π΄Π°Π½Π½ΡΡ
, ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΡΠΈΠΏΠ° ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ°Π±Π»ΠΈΡΡ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ² ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°.β
Value witness table (VWT) ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.βοΈ Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ,
existential container ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΊΡΡΠ΅ Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π±ΠΎΠ»ΡΡΠ΅ 3 Π±Π°ΠΉΡ.βοΈ Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΠΈΠΏΠ°, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΈΠ·Π»ΠΈΡΠ½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.