Merge: Text API
authorJean Privat <jean@pryen.org>
Tue, 9 Aug 2016 16:43:06 +0000 (12:43 -0400)
committerJean Privat <jean@pryen.org>
Tue, 9 Aug 2016 16:43:06 +0000 (12:43 -0400)
commit134132951c6ee38aab058631408fed8cc305faea
treefd7c1df882067264ba93c1dbfe5f546835eaf24d
parent6774d949b800f2ac49a264cd25806936d7aefc9f
parentacc813e9055c6b4cd54a6e7147f40d6bef92c900
Merge: Text API

This PR aims to make the `Text` superclass more usable.

Some methods that were only present in `String` have been moved to `Text`, where they keep their copy semantics.
This allows any client to concatenate or multiply any `Text` object.

Also, some convenience methods have been added to `Buffer`, like `insert_at` or `remove_at`.
Note that these methods ~~can~~ **will** be slow since they modify everything in-place and cause shifting the contents of a `Buffer`.

Also, the `RopeBuffer` experimental class was removed from lib since it is not faster than a regular `FlatBuffer` and added extra burden when making changes to the `Text` block.

Pull-Request: #2223
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Jean Privat <jean@pryen.org>