@SuppressWarnings("unchecked") @Override public boolean addAll(Collection<? extends T> collection) { Objects.requireNonNull(collection, "collection is null"); return setDelegateAndCheckChanged(() -> (C) getDelegate().appendAll(collection)); }
@SuppressWarnings("unchecked") static <T, C extends Seq<T>> C rotateLeft(C source, int n) { if (source.isEmpty() || n == 0) { return source; } else if (n < 0) { return rotateRight(source, -n); } else { int len = source.length(); int m = n % len; if (m == 0) { return source; } else { return (C) source.drop(m).appendAll(source.take(m)); } } }
@SuppressWarnings("unchecked") static <T, C extends Seq<T>> C rotateRight(C source, int n) { if (source.isEmpty() || n == 0) { return source; } else if (n < 0) { return rotateLeft(source, -n); } else { int len = source.length(); int m = n % len; if (m == 0) { return source; } else { return (C) source.takeRight(m).appendAll(source.dropRight(m)); } } }
@SuppressWarnings("unchecked") @Override public boolean addAll(Collection<? extends T> collection) { Objects.requireNonNull(collection, "collection is null"); return setDelegateAndCheckChanged(() -> (C) getDelegate().appendAll(collection)); }
@SuppressWarnings("unchecked") static <T, C extends Seq<T>> C rotateRight(C source, int n) { if (source.isEmpty() || n == 0) { return source; } else if (n < 0) { return rotateLeft(source, -n); } else { int len = source.length(); int m = n % len; if (m == 0) { return source; } else { return (C) source.takeRight(m).appendAll(source.dropRight(m)); } } }
@SuppressWarnings("unchecked") static <T, C extends Seq<T>> C rotateLeft(C source, int n) { if (source.isEmpty() || n == 0) { return source; } else if (n < 0) { return rotateRight(source, -n); } else { int len = source.length(); int m = n % len; if (m == 0) { return source; } else { return (C) source.drop(m).appendAll(source.take(m)); } } }