File tree Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Original file line number Diff line number Diff line change @@ -1767,6 +1767,40 @@ extension Array : Decodable where Element : Decodable {
1767
1767
}
1768
1768
}
1769
1769
1770
+ extension ContiguousArray : Encodable where Element : Encodable {
1771
+ /// Encodes the elements of this contiguous array into the given encoder
1772
+ /// in an unkeyed container.
1773
+ ///
1774
+ /// This function throws an error if any values are invalid for the given
1775
+ /// encoder's format.
1776
+ ///
1777
+ /// - Parameter encoder: The encoder to write data to.
1778
+ public func encode(to encoder: Encoder) throws {
1779
+ var container = encoder.unkeyedContainer()
1780
+ for element in self {
1781
+ try container.encode(element)
1782
+ }
1783
+ }
1784
+ }
1785
+
1786
+ extension ContiguousArray : Decodable where Element : Decodable {
1787
+ /// Creates a new contiguous array by decoding from the given decoder.
1788
+ ///
1789
+ /// This initializer throws an error if reading from the decoder fails, or
1790
+ /// if the data read is corrupted or otherwise invalid.
1791
+ ///
1792
+ /// - Parameter decoder: The decoder to read data from.
1793
+ public init(from decoder: Decoder) throws {
1794
+ self.init()
1795
+
1796
+ var container = try decoder.unkeyedContainer()
1797
+ while !container.isAtEnd {
1798
+ let element = try container.decode(Element.self)
1799
+ self.append(element)
1800
+ }
1801
+ }
1802
+ }
1803
+
1770
1804
extension Set : Encodable where Element : Encodable {
1771
1805
/// Encodes the elements of this set into the given encoder in an unkeyed
1772
1806
/// container.
You can’t perform that action at this time.
0 commit comments