# Functions Reference

# Functions

The following functions are available globally.

### KeyPath where Root: NSManagedObject, Value: QueryableAttributeType & Equatable

- `==(_:_:)`

  Creates a `Where` clause by comparing if a property is equal to a value

      let person = CoreStore.fetchOne(From<Person>().where(\.nickname == "John"))

  #### Declaration

  Swift

      public func == <O, V>(keyPath: KeyPath<O, V>, value: V) -> Where<O> where O : NSManagedObject, V : QueryableAttributeType

- `!=(_:_:)`

  Creates a `Where` clause by comparing if a property is not equal to a value

      let person = CoreStore.fetchOne(From<Person>().where(\.nickname != "John"))

  #### Declaration

  Swift

      public func != <O, V>(keyPath: KeyPath<O, V>, value: V) -> Where<O> where O : NSManagedObject, V : QueryableAttributeType

- `~=(_:_:)`

  Creates a `Where` clause by checking if a sequence contains the value of a property

      let dog = CoreStore.fetchOne(From<Dog>().where(["Pluto", "Snoopy", "Scooby"] ~= \.nickname))

  #### Declaration

  Swift

      public func ~= <O, V, S>(sequence: S, keyPath: KeyPath<O, V>) -> Where<O> where O : NSManagedObject, V : QueryableAttributeType, V == S.Element, S : Sequence

### KeyPath where Root: NSManagedObject, Value: Optional<QueryableAttributeType & Equatable>

- `==(_:_:)`

  Creates a `Where` clause by comparing if a property is equal to a value

      let person = CoreStore.fetchOne(From<Person>().where(\.nickname == "John"))

  #### Declaration

  Swift

      public func == <O, V>(keyPath: KeyPath<O, Optional<V>>, value: V?) -> Where<O> where O : NSManagedObject, V : QueryableAttributeType

- `!=(_:_:)`

  Creates a `Where` clause by comparing if a property is not equal to a value

      let person = CoreStore.fetchOne(From<Person>().where(\.nickname != "John"))

  #### Declaration

  Swift

      public func != <O, V>(keyPath: KeyPath<O, Optional<V>>, value: V?) -> Where<O> where O : NSManagedObject, V : QueryableAttributeType

- `~=(_:_:)`

  Creates a `Where` clause by checking if a sequence contains the value of a property

      let dog = CoreStore.fetchOne(From<Dog>().where(["Pluto", "Snoopy", "Scooby"] ~= \.nickname))

  #### Declaration

  Swift

      public func ~= <O, V, S>(sequence: S, keyPath: KeyPath<O, Optional<V>>) -> Where<O> where O : NSManagedObject, V : QueryableAttributeType, V == S.Element, S : Sequence

### KeyPath where Root: NSManagedObject, Value: QueryableAttributeType & Comparable

- `<(_:_:)`

  Creates a `Where` clause by comparing if a property is less than a value

      let person = CoreStore.fetchOne(From<Person>().where(\.age < 20))

  #### Declaration

  Swift

      public func < <O, V>(keyPath: KeyPath<O, V>, value: V) -> Where<O> where O : NSManagedObject, V : QueryableAttributeType, V : Comparable

- `>(_:_:)`

  Creates a `Where` clause by comparing if a property is greater than a value

      let person = CoreStore.fetchOne(From<Person>().where(\.age > 20))

  #### Declaration

  Swift

      public func > <O, V>(keyPath: KeyPath<O, V>, value: V) -> Where<O> where O : NSManagedObject, V : QueryableAttributeType, V : Comparable

- `<=(_:_:)`

  Creates a `Where` clause by comparing if a property is less than or equal to a value

      let person = CoreStore.fetchOne(From<Person>().where(\.age <= 20))

  #### Declaration

  Swift

      public func <= <O, V>(keyPath: KeyPath<O, V>, value: V) -> Where<O> where O : NSManagedObject, V : QueryableAttributeType, V : Comparable

- `>=(_:_:)`

  Creates a `Where` clause by comparing if a property is greater than or equal to a value

      let person = CoreStore.fetchOne(From<Person>().where(\.age >= 20))

  #### Declaration

  Swift

      public func >= <O, V>(keyPath: KeyPath<O, V>, value: V) -> Where<O> where O : NSManagedObject, V : QueryableAttributeType, V : Comparable

### KeyPath where Root: NSManagedObject, Value: Optional<QueryableAttributeType & Comparable>

- `<(_:_:)`

  Creates a `Where` clause by comparing if a property is less than a value

      let person = CoreStore.fetchOne(From<Person>().where(\.age < 20))

  #### Declaration

  Swift

      public func < <O, V>(keyPath: KeyPath<O, Optional<V>>, value: V?) -> Where<O> where O : NSManagedObject, V : QueryableAttributeType, V : Comparable

- `>(_:_:)`

  Creates a `Where` clause by comparing if a property is greater than a value

      let person = CoreStore.fetchOne(From<Person>().where(\.age > 20))

  #### Declaration

  Swift

      public func > <O, V>(keyPath: KeyPath<O, Optional<V>>, value: V?) -> Where<O> where O : NSManagedObject, V : QueryableAttributeType, V : Comparable

- `<=(_:_:)`

  Creates a `Where` clause by comparing if a property is less than or equal to a value

      let person = CoreStore.fetchOne(From<Person>().where(\.age <= 20))

  #### Declaration

  Swift

      public func <= <O, V>(keyPath: KeyPath<O, Optional<V>>, value: V?) -> Where<O> where O : NSManagedObject, V : QueryableAttributeType, V : Comparable

- `>=(_:_:)`

  Creates a `Where` clause by comparing if a property is greater than or equal to a value

      let person = CoreStore.fetchOne(From<Person>().where(\.age >= 20))

  #### Declaration

  Swift

      public func >= <O, V>(keyPath: KeyPath<O, Optional<V>>, value: V?) -> Where<O> where O : NSManagedObject, V : QueryableAttributeType, V : Comparable

### KeyPath where Root: NSManagedObject, Value: NSManagedObject

- `==(_:_:)`

  Creates a `Where` clause by comparing if a property is equal to a value

      let dog = CoreStore.fetchOne(From<Dog>().where(\.master == john))

  #### Declaration

  Swift

      public func == <O, D>(keyPath: KeyPath<O, D>, object: D) -> Where<O> where O : NSManagedObject, D : NSManagedObject

- `!=(_:_:)`

  Creates a `Where` clause by comparing if a property is not equal to a value

      let dog = CoreStore.fetchOne(From<Dog>().where(\.master != john))

  #### Declaration

  Swift

      public func != <O, D>(keyPath: KeyPath<O, D>, object: D) -> Where<O> where O : NSManagedObject, D : NSManagedObject

- `~=(_:_:)`

  Creates a `Where` clause by checking if a sequence contains a value of a property

      let dog = CoreStore.fetchOne(From<Dog>().where([john, bob, joe] ~= \.master))

  #### Declaration

  Swift

      public func ~= <O, D, S>(sequence: S, keyPath: KeyPath<O, D>) -> Where<O> where O : NSManagedObject, D : NSManagedObject, D == S.Element, S : Sequence

- `==(_:_:)`

  Creates a `Where` clause by comparing if a property is equal to a value

      let dog = CoreStore.fetchOne(From<Dog>().where(\.master == john))

  #### Declaration

  Swift

      public func == <O, D>(keyPath: KeyPath<O, D>, objectID: NSManagedObjectID) -> Where<O> where O : NSManagedObject, D : NSManagedObject

- `!=(_:_:)`

  Creates a `Where` clause by comparing if a property is not equal to a value

      let dog = CoreStore.fetchOne(From<Dog>().where(\.master != john))

  #### Declaration

  Swift

      public func != <O, D>(keyPath: KeyPath<O, D>, objectID: NSManagedObjectID) -> Where<O> where O : NSManagedObject, D : NSManagedObject

- `~=(_:_:)`

  Creates a `Where` clause by checking if a sequence contains a value of a property

      let dog = CoreStore.fetchOne(From<Dog>().where([john, bob, joe] ~= \.master))

  #### Declaration

  Swift

      public func ~= <O, D, S>(sequence: S, keyPath: KeyPath<O, D>) -> Where<O> where O : NSManagedObject, D : NSManagedObject, S : Sequence, S.Element == NSManagedObjectID

### KeyPath where Root: NSManagedObject, Value: Optional<NSManagedObject>

- `==(_:_:)`

  Creates a `Where` clause by comparing if a property is equal to a value

      let dog = CoreStore.fetchOne(From<Dog>().where(\.master == john))

  #### Declaration

  Swift

      public func == <O, D>(keyPath: KeyPath<O, Optional<D>>, object: D?) -> Where<O> where O : NSManagedObject, D : NSManagedObject

- `!=(_:_:)`

  Creates a `Where` clause by comparing if a property is not equal to a value

      let dog = CoreStore.fetchOne(From<Dog>().where(\.master != john))

  #### Declaration

  Swift

      public func != <O, D>(keyPath: KeyPath<O, Optional<D>>, object: D?) -> Where<O> where O : NSManagedObject, D : NSManagedObject

- `~=(_:_:)`

  Creates a `Where` clause by checking if a sequence contains a value of a property

      let dog = CoreStore.fetchOne(From<Dog>().where([john, bob, joe] ~= \.master))

  #### Declaration

  Swift

      public func ~= <O, D, S>(sequence: S, keyPath: KeyPath<O, Optional<D>>) -> Where<O> where O : NSManagedObject, D : NSManagedObject, D == S.Element, S : Sequence

- `==(_:_:)`

  Creates a `Where` clause by comparing if a property is equal to a value

      let dog = CoreStore.fetchOne(From<Dog>().where(\.master == john))

  #### Declaration

  Swift

      public func == <O, D>(keyPath: KeyPath<O, Optional<D>>, objectID: NSManagedObjectID) -> Where<O> where O : NSManagedObject, D : NSManagedObject

- `!=(_:_:)`

  Creates a `Where` clause by comparing if a property is not equal to a value

      let dog = CoreStore.fetchOne(From<Dog>().where(\.master != john))

  #### Declaration

  Swift

      public func != <O, D>(keyPath: KeyPath<O, Optional<D>>, objectID: NSManagedObjectID) -> Where<O> where O : NSManagedObject, D : NSManagedObject

- `~=(_:_:)`

  Creates a `Where` clause by checking if a sequence contains a value of a property

      let dog = CoreStore.fetchOne(From<Dog>().where([john, bob, joe] ~= \.master))

  #### Declaration

  Swift

      public func ~= <O, D, S>(sequence: S, keyPath: KeyPath<O, Optional<D>>) -> Where<O> where O : NSManagedObject, D : NSManagedObject, S : Sequence, S.Element == NSManagedObjectID

### KeyPath where Root: CoreStoreObject, Value: ValueContainer<Root>.Required<QueryableAttributeType & Equatable>

- `==(_:_:)`

  Creates a `Where` clause by comparing if a property is equal to a value

      let person = CoreStore.fetchOne(From<Person>().where(\.nickname == "John"))

  #### Declaration

  Swift

      public func == <O, V>(keyPath: KeyPath<O, ValueContainer<O>.Required<V>>, value: V) -> Where<O> where O : CoreStoreObject, V : ImportableAttributeType

- `!=(_:_:)`

  Creates a `Where` clause by comparing if a property is not equal to a value

      let person = CoreStore.fetchOne(From<Person>().where(\.nickname != "John"))

  #### Declaration

  Swift

      public func != <O, V>(keyPath: KeyPath<O, ValueContainer<O>.Required<V>>, value: V) -> Where<O> where O : CoreStoreObject, V : ImportableAttributeType

- `~=(_:_:)`

  Creates a `Where` clause by checking if a sequence contains the value of a property

      let dog = CoreStore.fetchOne(From<Dog>().where(["Pluto", "Snoopy", "Scooby"] ~= \.nickname))

  #### Declaration

  Swift

      public func ~= <O, V, S>(sequence: S, keyPath: KeyPath<O, ValueContainer<O>.Required<V>>) -> Where<O> where O : CoreStoreObject, V : ImportableAttributeType, V == S.Element, S : Sequence

### KeyPath where Root: CoreStoreObject, Value: ValueContainer<Root>.Optional<QueryableAttributeType & Equatable>

- `==(_:_:)`

  Creates a `Where` clause by comparing if a property is equal to a value

      let person = CoreStore.fetchOne(From<Person>().where(\.nickname == "John"))

  #### Declaration

  Swift

      public func == <O, V>(keyPath: KeyPath<O, ValueContainer<O>.Optional<V>>, value: V?) -> Where<O> where O : CoreStoreObject, V : ImportableAttributeType

- `!=(_:_:)`

  Creates a `Where` clause by comparing if a property is not equal to a value

      let person = CoreStore.fetchOne(From<Person>().where(\.nickname != "John"))

  #### Declaration

  Swift

      public func != <O, V>(keyPath: KeyPath<O, ValueContainer<O>.Optional<V>>, value: V?) -> Where<O> where O : CoreStoreObject, V : ImportableAttributeType

- `~=(_:_:)`

  Creates a `Where` clause by checking if a sequence contains the value of a property

      let dog = CoreStore.fetchOne(From<Dog>().where(["Pluto", "Snoopy", "Scooby"] ~= \.nickname))

  #### Declaration

  Swift

      public func ~= <O, V, S>(sequence: S, keyPath: KeyPath<O, ValueContainer<O>.Optional<V>>) -> Where<O> where O : CoreStoreObject, V : ImportableAttributeType, V == S.Element, S : Sequence

### KeyPath where Root: CoreStoreObject, Value: ValueContainer<Root>.Required<QueryableAttributeType & Comparable>

- `<(_:_:)`

  Creates a `Where` clause by comparing if a property is less than a value

      let person = CoreStore.fetchOne(From<Person>().where(\.age < 20))

  #### Declaration

  Swift

      public func < <O, V>(keyPath: KeyPath<O, ValueContainer<O>.Required<V>>, value: V) -> Where<O> where O : CoreStoreObject, V : ImportableAttributeType, V : Comparable

- `>(_:_:)`

  Creates a `Where` clause by comparing if a property is greater than a value

      let person = CoreStore.fetchOne(From<Person>().where(\.age > 20))

  #### Declaration

  Swift

      public func > <O, V>(keyPath: KeyPath<O, ValueContainer<O>.Required<V>>, value: V) -> Where<O> where O : CoreStoreObject, V : ImportableAttributeType, V : Comparable

- `<=(_:_:)`

  Creates a `Where` clause by comparing if a property is less than or equal to a value

      let person = CoreStore.fetchOne(From<Person>().where(\.age <= 20))

  #### Declaration

  Swift

      public func <= <O, V>(keyPath: KeyPath<O, ValueContainer<O>.Required<V>>, value: V) -> Where<O> where O : CoreStoreObject, V : ImportableAttributeType, V : Comparable

- `>=(_:_:)`

  Creates a `Where` clause by comparing if a property is greater than or equal to a value

      let person = CoreStore.fetchOne(From<Person>().where(\.age >= 20))

  #### Declaration

  Swift

      public func >= <O, V>(keyPath: KeyPath<O, ValueContainer<O>.Required<V>>, value: V) -> Where<O> where O : CoreStoreObject, V : ImportableAttributeType, V : Comparable

### KeyPath where Root: CoreStoreObject, Value: ValueContainer<Root>.Optional<QueryableAttributeType & Comparable>

- `<(_:_:)`

  Creates a `Where` clause by comparing if a property is less than a value

      let person = CoreStore.fetchOne(From<Person>().where(\.age < 20))

  #### Declaration

  Swift

      public func < <O, V>(keyPath: KeyPath<O, ValueContainer<O>.Optional<V>>, value: V?) -> Where<O> where O : CoreStoreObject, V : ImportableAttributeType

- `>(_:_:)`

  Creates a `Where` clause by comparing if a property is greater than a value

      let person = CoreStore.fetchOne(From<Person>().where(\.age > 20))

  #### Declaration

  Swift

      public func > <O, V>(keyPath: KeyPath<O, ValueContainer<O>.Optional<V>>, value: V?) -> Where<O> where O : CoreStoreObject, V : ImportableAttributeType

- `<=(_:_:)`

  Creates a `Where` clause by comparing if a property is less than or equal to a value

      let person = CoreStore.fetchOne(From<Person>().where(\.age <= 20))

  #### Declaration

  Swift

      public func <= <O, V>(keyPath: KeyPath<O, ValueContainer<O>.Optional<V>>, value: V?) -> Where<O> where O : CoreStoreObject, V : ImportableAttributeType

- `>=(_:_:)`

  Creates a `Where` clause by comparing if a property is greater than or equal to a value

      let person = CoreStore.fetchOne(From<Person>().where(\.age >= 20))

  #### Declaration

  Swift

      public func >= <O, V>(keyPath: KeyPath<O, ValueContainer<O>.Optional<V>>, value: V?) -> Where<O> where O : CoreStoreObject, V : ImportableAttributeType

### KeyPath where Root: CoreStoreObject, Value: RelationshipContainer<Root>.ToOne<CoreStoreObject>

- `==(_:_:)`

  Creates a `Where` clause by comparing if a property is equal to a value

      let dog = CoreStore.fetchOne(From<Dog>().where(\.master == john))

  #### Declaration

  Swift

      public func == <O, D>(keyPath: KeyPath<O, RelationshipContainer<O>.ToOne<D>>, object: D) -> Where<O> where O : CoreStoreObject, D : CoreStoreObject

- `==(_:_:)`

  Creates a `Where` clause by comparing if a property is equal to a value

      let dog = CoreStore.fetchOne(From<Dog>().where(\.master == john))

  #### Declaration

  Swift

      public func == <O, D>(keyPath: KeyPath<O, RelationshipContainer<O>.ToOne<D>>, object: D?) -> Where<O> where O : CoreStoreObject, D : CoreStoreObject

- `!=(_:_:)`

  Creates a `Where` clause by comparing if a property is not equal to a value

      let dog = CoreStore.fetchOne(From<Dog>().where(\.master != john))

  #### Declaration

  Swift

      public func != <O, D>(keyPath: KeyPath<O, RelationshipContainer<O>.ToOne<D>>, object: D) -> Where<O> where O : CoreStoreObject, D : CoreStoreObject

- `!=(_:_:)`

  Creates a `Where` clause by comparing if a property is not equal to a value

      let dog = CoreStore.fetchOne(From<Dog>().where(\.master != john))

  #### Declaration

  Swift

      public func != <O, D>(keyPath: KeyPath<O, RelationshipContainer<O>.ToOne<D>>, object: D?) -> Where<O> where O : CoreStoreObject, D : CoreStoreObject

- `~=(_:_:)`

  Creates a `Where` clause by checking if a sequence contains a value of a property

      let dog = CoreStore.fetchOne(From<Dog>().where([john, bob, joe] ~= \.master))

  #### Declaration

  Swift

      public func ~= <O, D, S>(sequence: S, keyPath: KeyPath<O, RelationshipContainer<O>.ToOne<D>>) -> Where<O> where O : CoreStoreObject, D : CoreStoreObject, D == S.Element, S : Sequence

### ~ where D: NSManagedObject

- `~(_:_:)`

  Connects multiple `DynamicKeyPath`s to create a type-safe chain usable in query/fetch expressions

      let owner = CoreStore.fetchOne(From<Pet>().where((\.master ~ \.name) == "John"))

  #### Declaration

  Swift

      public func ~ <D, O, V>(lhs: KeyPath<D, O>, rhs: KeyPath<O, V>) -> Where<D>.Expression<Where<D>.SingleTarget, V> where D : NSManagedObject, O : NSManagedObject, V : AllowedObjectiveCKeyPathValue

- `~(_:_:)`

  Connects multiple `DynamicKeyPath`s to create a type-safe chain usable in query/fetch expressions

      let owner = CoreStore.fetchOne(From<Pet>().where((\.master ~ \.name) == "John"))

  #### Declaration

  Swift

      public func ~ <D, O, V>(lhs: KeyPath<D, O?>, rhs: KeyPath<O, V>) -> Where<D>.Expression<Where<D>.SingleTarget, V> where D : NSManagedObject, O : NSManagedObject, V : AllowedObjectiveCKeyPathValue

- `~(_:_:)`

  Connects multiple `DynamicKeyPath`s to create a type-safe chain usable in query/fetch expressions

      let happyPets = CoreStore.fetchAll(From<Pet>().where((\.master ~ \.pets).count() > 1))

  #### Declaration

  Swift

      public func ~ <D, O, V>(lhs: KeyPath<D, O>, rhs: KeyPath<O, V>) -> Where<D>.Expression<Where<D>.CollectionTarget, V> where D : NSManagedObject, O : NSManagedObject, V : AllowedObjectiveCCollectionKeyPathValue

- `~(_:_:)`

  Connects multiple `DynamicKeyPath`s to create a type-safe chain usable in query/fetch expressions

      let happyPets = CoreStore.fetchAll(From<Pet>().where((\.master ~ \.pets).count() > 1))

  #### Declaration

  Swift

      public func ~ <D, O, V>(lhs: KeyPath<D, O?>, rhs: KeyPath<O, V>) -> Where<D>.Expression<Where<D>.CollectionTarget, V> where D : NSManagedObject, O : NSManagedObject, V : AllowedObjectiveCCollectionKeyPathValue

- `~(_:_:)`

  Connects multiple `DynamicKeyPath`s to create a type-safe chain usable in query/fetch expressions

      let johnsSonInLaw = CoreStore.fetchOne(From<Person>().where((\.spouse ~ \.father ~ \.name) == "John"))

  #### Declaration

  Swift

      public func ~ <D, O, T, V>(lhs: Where<D>.Expression<T, O>, rhs: KeyPath<O, V>) -> Where<D>.Expression<T, V> where D : NSManagedObject, O : NSManagedObject, T : WhereExpressionTrait, V : AllowedObjectiveCKeyPathValue

- `~(_:_:)`

  Connects multiple `DynamicKeyPath`s to create a type-safe chain usable in query/fetch expressions

      let johnsSonInLaw = CoreStore.fetchOne(From<Person>().where((\.spouse ~ \.father ~ \.name) == "John"))

  #### Declaration

  Swift

      public func ~ <D, O, T, V>(lhs: Where<D>.Expression<T, O?>, rhs: KeyPath<O, V>) -> Where<D>.Expression<T, V> where D : NSManagedObject, O : NSManagedObject, T : WhereExpressionTrait, V : AllowedObjectiveCKeyPathValue

- `~(_:_:)`

  Connects multiple `DynamicKeyPath`s to create a type-safe chain usable in query/fetch expressions

      let spouseHasSiblings = CoreStore.fetchOne(From<Person>().where((\.spouse ~ \.father ~ \.children).count() > 0))

  #### Declaration

  Swift

      public func ~ <D, O, T, V>(lhs: Where<D>.Expression<T, O>, rhs: KeyPath<O, V>) -> Where<D>.Expression<Where<D>.CollectionTarget, V> where D : NSManagedObject, O : NSManagedObject, T : WhereExpressionTrait, V : AllowedObjectiveCCollectionKeyPathValue

- `~(_:_:)`

  Connects multiple `DynamicKeyPath`s to create a type-safe chain usable in query/fetch expressions

      let spouseHasSiblings = CoreStore.fetchOne(From<Person>().where((\.spouse ~ \.father ~ \.children).count() > 0))

  #### Declaration

  Swift

      public func ~ <D, O, T, V>(lhs: Where<D>.Expression<T, O?>, rhs: KeyPath<O, V>) -> Where<D>.Expression<Where<D>.CollectionTarget, V> where D : NSManagedObject, O : NSManagedObject, T : WhereExpressionTrait, V : AllowedObjectiveCCollectionKeyPathValue

- `~(_:_:)`

  Connects multiple `DynamicKeyPath`s to create a type-safe chain usable in query/fetch expressions

      let spousesWithBadNamingSense = CoreStore.fetchAll(From<Person>().where((\.spouse ~ \.pets ~ \.name).any() == "Spot"))

  #### Declaration

  Swift

      public func ~ <D, O, T, C, V>(lhs: Where<D>.Expression<T, C>, rhs: KeyPath<O, V>) -> Where<D>.Expression<Where<D>.CollectionTarget, V> where D : NSManagedObject, O : NSManagedObject, T : WhereExpressionTrait, C : AllowedObjectiveCCollectionKeyPathValue, V : AllowedObjectiveCKeyPathValue

### ~ where D: CoreStoreObject

- `~(_:_:)`

  Connects multiple `DynamicKeyPath`s to create a type-safe chain usable in query/fetch expressions

      let owner = CoreStore.fetchOne(From<Pet>().where((\.master ~ \.name) == "John"))

  #### Declaration

  Swift

      public func ~ <D, O, K>(lhs: KeyPath<D, RelationshipContainer<D>.ToOne<O>>, rhs: KeyPath<O, K>) -> Where<D>.Expression<Where<D>.SingleTarget, K.ValueType> where D : CoreStoreObject, O : CoreStoreObject, O == K.ObjectType, K : AllowedCoreStoreObjectKeyPathValue

- `~(_:_:)`

  Connects multiple `DynamicKeyPath`s to create a type-safe chain usable in query/fetch expressions

      let owner = CoreStore.fetchOne(From<Pet>().where((\.master ~ \.name) == "John"))

  #### Declaration

  Swift

      public func ~ <D, O, T, K>(lhs: Where<D>.Expression<T, O>, rhs: KeyPath<O, K>) -> Where<D>.Expression<T, K.ValueType> where D : CoreStoreObject, O : CoreStoreObject, O == K.ObjectType, T : WhereExpressionTrait, K : AllowedCoreStoreObjectKeyPathValue

- `~(_:_:)`

  Connects multiple `DynamicKeyPath`s to create a type-safe chain usable in query/fetch expressions

      let owner = CoreStore.fetchOne(From<Pet>().where((\.master ~ \.name) == "John"))

  #### Declaration

  Swift

      public func ~ <D, O, T, K>(lhs: Where<D>.Expression<T, O?>, rhs: KeyPath<O, K>) -> Where<D>.Expression<T, K.ValueType> where D : CoreStoreObject, O : CoreStoreObject, O == K.ObjectType, T : WhereExpressionTrait, K : AllowedCoreStoreObjectKeyPathValue

- `~(_:_:)`

  Connects multiple `DynamicKeyPath`s to create a type-safe chain usable in query/fetch expressions

      let happyPets = CoreStore.fetchAll(From<Pet>().where((\.master ~ \.pets).count() > 1))

  #### Declaration

  Swift

      public func ~ <D, O, K>(lhs: KeyPath<D, RelationshipContainer<D>.ToOne<O>>, rhs: KeyPath<O, K>) -> Where<D>.Expression<Where<D>.CollectionTarget, K.ValueType> where D : CoreStoreObject, O : CoreStoreObject, O == K.ObjectType, K : AllowedCoreStoreObjectCollectionKeyPathValue

- `~(_:_:)`

  Connects multiple `DynamicKeyPath`s to create a type-safe chain usable in query/fetch expressions

      let happyPets = CoreStore.fetchAll(From<Pet>().where((\.master ~ \.pets).count() > 1))

  #### Declaration

  Swift

      public func ~ <D, O, T, K>(lhs: Where<D>.Expression<T, O>, rhs: KeyPath<O, K>) -> Where<D>.Expression<Where<D>.CollectionTarget, K.ValueType> where D : CoreStoreObject, O : CoreStoreObject, O == K.ObjectType, T : WhereExpressionTrait, K : AllowedCoreStoreObjectCollectionKeyPathValue

- `~(_:_:)`

  Connects multiple `DynamicKeyPath`s to create a type-safe chain usable in query/fetch expressions

      let happyPets = CoreStore.fetchAll(From<Pet>().where((\.master ~ \.pets).count() > 1))

  #### Declaration

  Swift

      public func ~ <D, O, T, K>(lhs: Where<D>.Expression<T, O?>, rhs: KeyPath<O, K>) -> Where<D>.Expression<Where<D>.CollectionTarget, K.ValueType> where D : CoreStoreObject, O : CoreStoreObject, O == K.ObjectType, T : WhereExpressionTrait, K : AllowedCoreStoreObjectCollectionKeyPathValue

- `~(_:_:)`

  Connects multiple `DynamicKeyPath`s to create a type-safe chain usable in query/fetch expressions

      let spousesWithBadNamingSense = CoreStore.fetchAll(From<Pet>().where((\.master ~ \.pets ~ \.name).any() == "Spot"))

  #### Declaration

  Swift

      public func ~ <D, O, T, KC, KV>(lhs: Where<D>.Expression<T, KC>, rhs: KeyPath<O, KV>) -> Where<D>.Expression<Where<D>.CollectionTarget, KV.ValueType> where D : CoreStoreObject, D == KC.ObjectType, O : CoreStoreObject, O == KV.ObjectType, T : WhereExpressionTrait, KC : AllowedCoreStoreObjectCollectionKeyPathValue, KV : AllowedCoreStoreObjectKeyPathValue

### Where.Expression where V: QueryableAttributeType

- `==(_:_:)`

  Creates a `Where` clause by comparing if an expression is equal to a value

      let dog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.name) == "John"))

  #### Declaration

  Swift

      public func == <D, T, V>(lhs: Where<D>.Expression<T, V>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType

- `!=(_:_:)`

  Creates a `Where` clause by comparing if an expression is not equal to a value

      let dog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.name) != "John"))

  #### Declaration

  Swift

      public func != <D, T, V>(lhs: Where<D>.Expression<T, V>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType

- `~=(_:_:)`

  Creates a `Where` clause by checking if a sequence contains a value

      let dog = CoreStore.fetchOne(From<Dog>().where(["John", "Joe"] ~= (\.master ~ \.name))

  #### Declaration

  Swift

      public func ~= <D, T, V, S>(sequence: S, expression: Where<D>.Expression<T, V>) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V == S.Element, S : Sequence

### Where.Expression where V: QueryableAttributeType & Comparable

- `<(_:_:)`

  Creates a `Where` clause by comparing if an expression is less than a value

      let lonelyDog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.pets).count() < 2))

  #### Declaration

  Swift

      public func < <D, T, V>(lhs: Where<D>.Expression<T, V>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable

- `<=(_:_:)`

  Creates a `Where` clause by comparing if an expression is less than or equal to a value

      let lonelyDog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.pets).count() <= 1)

  #### Declaration

  Swift

      public func <= <D, T, V>(lhs: Where<D>.Expression<T, V>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable

- `>(_:_:)`

  Creates a `Where` clause by comparing if an expression is greater than a value

      let happyDog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.pets).count() > 1)

  #### Declaration

  Swift

      public func > <D, T, V>(lhs: Where<D>.Expression<T, V>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable

- `>=(_:_:)`

  Creates a `Where` clause by comparing if an expression is greater than or equal to a value

      let happyDog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.pets).count() >= 2)

  #### Declaration

  Swift

      public func >= <D, T, V>(lhs: Where<D>.Expression<T, V>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable

### Where.Expression where V: Optional<QueryableAttributeType>

- `==(_:_:)`

  Creates a `Where` clause by comparing if an expression is equal to a value

      let dog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.name) == "John"))

  #### Declaration

  Swift

      public func == <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType

- `==(_:_:)`

  Creates a `Where` clause by comparing if an expression is equal to a value

      let dog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.name) == "John"))

  #### Declaration

  Swift

      public func == <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V?) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType

- `!=(_:_:)`

  Creates a `Where` clause by comparing if an expression is equal to a value

      let dog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.name) != "John"))

  #### Declaration

  Swift

      public func != <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType

- `!=(_:_:)`

  Creates a `Where` clause by comparing if an expression is equal to a value

      let dog = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.name) != "John"))

  #### Declaration

  Swift

      public func != <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V?) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType

- `~=(_:_:)`

  Creates a `Where` clause by checking if a sequence contains a value

      let dog = CoreStore.fetchOne(From<Dog>().where(["John", "Joe"] ~= (\.master ~ \.name))

  #### Declaration

  Swift

      public func ~= <D, T, V, S>(sequence: S, expression: Where<D>.Expression<T, V?>) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V == S.Element, S : Sequence

### Where.Expression where V: Optional<QueryableAttributeType & Comparable>

- `<(_:_:)`

  Creates a `Where` clause by comparing if an expression is less than a value

      let childsPet = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.age) < 10))

  #### Declaration

  Swift

      public func < <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable

- `<=(_:_:)`

  Creates a `Where` clause by comparing if an expression is less than or equal to a value

      let childsPet = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.age) <= 10))

  #### Declaration

  Swift

      public func <= <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V?) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable

- `>(_:_:)`

  Creates a `Where` clause by comparing if an expression is greater than a value

      let teensPet = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.age) > 10))

  #### Declaration

  Swift

      public func > <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable

- `>=(_:_:)`

  Creates a `Where` clause by comparing if an expression is greater than or equal to a value

      let teensPet = CoreStore.fetchOne(From<Dog>().where((\.master ~ \.age) >= 10))

  #### Declaration

  Swift

      public func >= <D, T, V>(lhs: Where<D>.Expression<T, V?>, rhs: V?) -> Where<D> where D : DynamicObject, T : WhereExpressionTrait, V : QueryableAttributeType, V : Comparable