1// +build go1.13 2 3// Copyright (c) Microsoft Corporation. All rights reserved. 4// Licensed under the MIT License. 5 6package to 7 8import "time" 9 10// BoolPtr returns a pointer to the provided bool. 11func BoolPtr(b bool) *bool { 12 return &b 13} 14 15// Float32Ptr returns a pointer to the provided float32. 16func Float32Ptr(i float32) *float32 { 17 return &i 18} 19 20// Float64Ptr returns a pointer to the provided float64. 21func Float64Ptr(i float64) *float64 { 22 return &i 23} 24 25// Int32Ptr returns a pointer to the provided int32. 26func Int32Ptr(i int32) *int32 { 27 return &i 28} 29 30// Int64Ptr returns a pointer to the provided int64. 31func Int64Ptr(i int64) *int64 { 32 return &i 33} 34 35// StringPtr returns a pointer to the provided string. 36func StringPtr(s string) *string { 37 return &s 38} 39 40// TimePtr returns a pointer to the provided time.Time. 41func TimePtr(t time.Time) *time.Time { 42 return &t 43} 44 45// Int32PtrArray returns an array of *int32 from the specified values. 46func Int32PtrArray(vals ...int32) []*int32 { 47 arr := make([]*int32, len(vals), len(vals)) 48 for i := range vals { 49 arr[i] = Int32Ptr(vals[i]) 50 } 51 return arr 52} 53 54// Int64PtrArray returns an array of *int64 from the specified values. 55func Int64PtrArray(vals ...int64) []*int64 { 56 arr := make([]*int64, len(vals), len(vals)) 57 for i := range vals { 58 arr[i] = Int64Ptr(vals[i]) 59 } 60 return arr 61} 62 63// Float32PtrArray returns an array of *float32 from the specified values. 64func Float32PtrArray(vals ...float32) []*float32 { 65 arr := make([]*float32, len(vals), len(vals)) 66 for i := range vals { 67 arr[i] = Float32Ptr(vals[i]) 68 } 69 return arr 70} 71 72// Float64PtrArray returns an array of *float64 from the specified values. 73func Float64PtrArray(vals ...float64) []*float64 { 74 arr := make([]*float64, len(vals), len(vals)) 75 for i := range vals { 76 arr[i] = Float64Ptr(vals[i]) 77 } 78 return arr 79} 80 81// BoolPtrArray returns an array of *bool from the specified values. 82func BoolPtrArray(vals ...bool) []*bool { 83 arr := make([]*bool, len(vals), len(vals)) 84 for i := range vals { 85 arr[i] = BoolPtr(vals[i]) 86 } 87 return arr 88} 89 90// StringPtrArray returns an array of *string from the specified values. 91func StringPtrArray(vals ...string) []*string { 92 arr := make([]*string, len(vals), len(vals)) 93 for i := range vals { 94 arr[i] = StringPtr(vals[i]) 95 } 96 return arr 97} 98 99// TimePtrArray returns an array of *time.Time from the specified values. 100func TimePtrArray(vals ...time.Time) []*time.Time { 101 arr := make([]*time.Time, len(vals), len(vals)) 102 for i := range vals { 103 arr[i] = TimePtr(vals[i]) 104 } 105 return arr 106} 107