isEmpty() and flatten() added

This commit is contained in:
Andrey Breslav
2013-10-23 13:51:04 +04:00
parent e0d890853d
commit 8dc526a5e1
@@ -17,6 +17,7 @@
package org.jetbrains.jet.utils
import java.util.LinkedHashMap
import java.util.ArrayList
public fun <K, V> Iterable<V>.valuesToMap(key: (V) -> K): Map<K, V> {
return iterator().valuesToMap(key)
@@ -57,4 +58,8 @@ public fun <K, V: Any> Iterator<K>.keysToMapExceptNulls(value: (K) -> V?): Map<K
return map
}
public fun <T, C: Collection<T>> C.ifEmpty(body: () -> C): C = if (isEmpty()) body() else this
public fun <T, C: Collection<T>> C.ifEmpty(body: () -> C): C = if (isEmpty()) body() else this
public fun <T> Iterable<Iterable<T>>.flatten(): List<T> {
return flatMapTo(ArrayList<T>(), {it})
}