# Optional

    extension Optional: CoreStoreDebugStringConvertible

    extension Optional: FieldOptionalType

    extension Optional: FieldRelationshipType, FieldRelationshipToOneType where Wrapped: CoreStoreObject

    extension Optional: FieldStorableType where Wrapped: FieldStorableType

    extension Optional: AllowedObjectiveCKeyPathValue where Wrapped: AllowedOptionalObjectiveCKeyPathValue

    extension Optional: AllowedObjectiveCAttributeKeyPathValue where Wrapped: AllowedObjectiveCAttributeKeyPathValue, Wrapped: AllowedOptionalObjectiveCKeyPathValue

    extension Optional: AllowedOptionalObjectiveCKeyPathValue, AllowedObjectiveCRelationshipKeyPathValue where Wrapped: AllowedObjectiveCRelationshipKeyPathValue

    extension Optional: AllowedObjectiveCToManyRelationshipKeyPathValue where Wrapped: AllowedObjectiveCToManyRelationshipKeyPathValue, Wrapped: AllowedObjectiveCRelationshipKeyPathValue

### FieldOptionalType

- `cs_wrappedValue`

  #### Declaration

  Swift

      @inlinable
      public var cs_wrappedValue: Wrapped? { get }

### FieldRelationshipType

- `DestinationObjectType`

  #### Declaration

  Swift

      public typealias DestinationObjectType = Wrapped

- `NativeValueType`

  #### Declaration

  Swift

      public typealias NativeValueType = NSManagedObject

- `SnapshotValueType`

  #### Declaration

  Swift

      public typealias SnapshotValueType = NSManagedObjectID?

- `PublishedType`

  #### Declaration

  Swift

      public typealias PublishedType = ObjectPublisher<DestinationObjectType>?

- `cs_toReturnType(from:)`

  #### Declaration

  Swift

      public static func cs_toReturnType(from value: NativeValueType?) -> Optional<Wrapped>

- `cs_toPublishedType(from:in:)`

  #### Declaration

  Swift

      public static func cs_toPublishedType(from value: SnapshotValueType, in context: NSManagedObjectContext) -> PublishedType

- `cs_toNativeType(from:)`

  #### Declaration

  Swift

      public static func cs_toNativeType(from value: `Self`) -> NativeValueType?

- `cs_toSnapshotType(from:)`

  #### Declaration

  Swift

      public static func cs_toSnapshotType(from value: PublishedType) -> SnapshotValueType

- `cs_valueForSnapshot(from:)`

  #### Declaration

  Swift

      public static func cs_valueForSnapshot(from objectIDs: [DestinationObjectType.ObjectID]) -> SnapshotValueType

### FieldStorableType

- `FieldStoredNativeType`

  #### Declaration

  Swift

      public typealias FieldStoredNativeType = Wrapped.FieldStoredNativeType?

- `cs_rawAttributeType`

  #### Declaration

  Swift

      public static var cs_rawAttributeType: NSAttributeType { get }

- `cs_fromFieldStoredNativeType(_:)`

  #### Declaration

  Swift

      @inline(__always)
      public static func cs_fromFieldStoredNativeType(_ value: FieldStoredNativeType) -> Optional<Wrapped>

- `cs_toFieldStoredNativeType()`

  #### Declaration

  Swift

      @inline(__always)
      public func cs_toFieldStoredNativeType() -> Any?

### Available where `Wrapped`: `AllowedOptionalObjectiveCKeyPathValue`

- `DestinationValueType`

  #### Declaration

  Swift

      public typealias DestinationValueType = Wrapped.DestinationValueType

### Available where `Wrapped`: `AllowedObjectiveCAttributeKeyPathValue`, `Wrapped`: `AllowedOptionalObjectiveCKeyPathValue`

- `ReturnValueType`

  #### Declaration

  Swift

      public typealias ReturnValueType = Optional