11package scala .xml
22
33import scala .collection .immutable .StrictOptimizedSeqOps
4- import scala .collection .{SeqOps , IterableOnce , immutable , mutable }
4+ import scala .collection .{View , SeqOps , IterableOnce , immutable , mutable }
55import scala .collection .BuildFrom
66import scala .collection .mutable .Builder
77
@@ -20,6 +20,21 @@ private[xml] trait ScalaVersionSpecificNodeSeq
2020 override def fromSpecific (coll : IterableOnce [Node ]): NodeSeq = (NodeSeq .newBuilder ++= coll).result()
2121 override def newSpecificBuilder : mutable.Builder [Node , NodeSeq ] = NodeSeq .newBuilder
2222 override def empty : NodeSeq = NodeSeq .Empty
23+ def concat (suffix : IterableOnce [Node ]): NodeSeq =
24+ fromSpecific(iterator ++ suffix.iterator)
25+ @ inline final def ++ (suffix : Seq [Node ]): NodeSeq = concat(suffix)
26+ def appended (base : Node ): NodeSeq =
27+ fromSpecific(new View .Appended (this , base))
28+ def appendedAll (suffix : IterableOnce [Node ]): NodeSeq =
29+ concat(suffix)
30+ def prepended (base : Node ): NodeSeq =
31+ fromSpecific(new View .Prepended (base, this ))
32+ def prependedAll (prefix : IterableOnce [Node ]): NodeSeq =
33+ fromSpecific(prefix.iterator ++ iterator)
34+ def map (f : Node => Node ): NodeSeq =
35+ fromSpecific(new View .Map (this , f))
36+ def flatMap (f : Node => IterableOnce [Node ]): NodeSeq =
37+ fromSpecific(new View .FlatMap (this , f))
2338}
2439
2540private [xml] trait ScalaVersionSpecificNodeBuffer { self : NodeBuffer =>
0 commit comments