杨锴
2025-04-16 09a372bc45fde16fd42257ab6f78b8deeecf720b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//
//  IdentifiableValue.swift
//  RxDataSources
//
//  Created by Krunoslav Zaher on 1/7/16.
//  Copyright © 2016 Krunoslav Zaher. All rights reserved.
//
 
import Foundation
 
public struct IdentifiableValue<Value: Hashable> {
    public let value: Value
}
 
extension IdentifiableValue
    : IdentifiableType {
 
    public typealias Identity = Value
 
    public var identity : Identity {
        return value
    }
}
 
extension IdentifiableValue
    : Equatable
    , CustomStringConvertible
    , CustomDebugStringConvertible {
 
    public var description: String {
        return "\(value)"
    }
 
    public var debugDescription: String {
        return "\(value)"
    }
}
 
public func == <V>(lhs: IdentifiableValue<V>, rhs: IdentifiableValue<V>) -> Bool {
    return lhs.value == rhs.value
}