Added safeAdd documentation

This commit is contained in:
apense
2015-07-06 15:47:23 -04:00
parent a7f769c6bd
commit 30737ea34b

View File

@@ -3286,14 +3286,19 @@ when declared(initDebugger):
when hasAlloc:
# XXX: make these the default (or implement the NilObject optimization)
proc safeAdd*[T](x: var seq[T], y: T) {.noSideEffect.} =
## Add `y` to `x` unless `x` is not yet initialized; in that case, `x`
## becomes `@[y]`
if x == nil: x = @[y]
else: x.add(y)
proc safeAdd*(x: var string, y: char) =
## Add `y` to `x`. If `x` is `nil` it is initialized to `""`
if x == nil: x = ""
x.add(y)
proc safeAdd*(x: var string, y: string) =
## Add `y` to `x` unless `x` is not yet initalized; in that case, `x`
## becomes `y`
if x == nil: x = y
else: x.add(y)