summaryrefslogtreecommitdiff
path: root/vendor/github.com/ugorji/go/codec/helper_unsafe.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/ugorji/go/codec/helper_unsafe.go')
-rw-r--r--vendor/github.com/ugorji/go/codec/helper_unsafe.go49
1 files changed, 0 insertions, 49 deletions
diff --git a/vendor/github.com/ugorji/go/codec/helper_unsafe.go b/vendor/github.com/ugorji/go/codec/helper_unsafe.go
deleted file mode 100644
index 0f596c71a..000000000
--- a/vendor/github.com/ugorji/go/codec/helper_unsafe.go
+++ /dev/null
@@ -1,49 +0,0 @@
-// +build unsafe
-
-// Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved.
-// Use of this source code is governed by a MIT license found in the LICENSE file.
-
-package codec
-
-import (
- "unsafe"
-)
-
-// This file has unsafe variants of some helper methods.
-
-type unsafeString struct {
- Data uintptr
- Len int
-}
-
-type unsafeSlice struct {
- Data uintptr
- Len int
- Cap int
-}
-
-// stringView returns a view of the []byte as a string.
-// In unsafe mode, it doesn't incur allocation and copying caused by conversion.
-// In regular safe mode, it is an allocation and copy.
-func stringView(v []byte) string {
- if len(v) == 0 {
- return ""
- }
-
- bx := (*unsafeSlice)(unsafe.Pointer(&v))
- sx := unsafeString{bx.Data, bx.Len}
- return *(*string)(unsafe.Pointer(&sx))
-}
-
-// bytesView returns a view of the string as a []byte.
-// In unsafe mode, it doesn't incur allocation and copying caused by conversion.
-// In regular safe mode, it is an allocation and copy.
-func bytesView(v string) []byte {
- if len(v) == 0 {
- return zeroByteSlice
- }
-
- sx := (*unsafeString)(unsafe.Pointer(&v))
- bx := unsafeSlice{sx.Data, sx.Len, sx.Len}
- return *(*[]byte)(unsafe.Pointer(&bx))
-}