1 Star 0 Fork 0

简约/govcl

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
memorystream.go 5.91 KB
一键复制 编辑 原始数据 按行查看 历史
//----------------------------------------
// The code is automatically generated by the GenlibLcl tool.
// Copyright © ying32. All Rights Reserved.
//
// Licensed under Apache License 2.0
//
//----------------------------------------
package vcl
import (
. "github.com/ying32/govcl/vcl/api"
. "github.com/ying32/govcl/vcl/types"
"unsafe"
)
type TMemoryStream struct {
IStream
instance uintptr
// 特殊情况下使用,主要应对Go的GC问题,与LCL没有太多关系。
ptr unsafe.Pointer
}
// 创建一个新的对象。
//
// Create a new object.
func NewMemoryStream() *TMemoryStream {
m := new(TMemoryStream)
m.instance = MemoryStream_Create()
m.ptr = unsafe.Pointer(m.instance)
setFinalizer(m, (*TMemoryStream).Free)
return m
}
// 动态转换一个已存在的对象实例。
//
// Dynamically convert an existing object instance.
func AsMemoryStream(obj interface{}) *TMemoryStream {
instance, ptr := getInstance(obj)
if instance == 0 { return nil }
return &TMemoryStream{instance: instance, ptr: ptr}
}
// -------------------------- Deprecated begin --------------------------
// 新建一个对象来自已经存在的对象实例指针。
//
// Create a new object from an existing object instance pointer.
// Deprecated: use AsMemoryStream.
func MemoryStreamFromInst(inst uintptr) *TMemoryStream {
return AsMemoryStream(inst)
}
// 新建一个对象来自已经存在的对象实例。
//
// Create a new object from an existing object instance.
// Deprecated: use AsMemoryStream.
func MemoryStreamFromObj(obj IObject) *TMemoryStream {
return AsMemoryStream(obj)
}
// 新建一个对象来自不安全的地址。注意:使用此函数可能造成一些不明情况,慎用。
//
// Create a new object from an unsecured address. Note: Using this function may cause some unclear situations and be used with caution..
// Deprecated: use AsMemoryStream.
func MemoryStreamFromUnsafePointer(ptr unsafe.Pointer) *TMemoryStream {
return AsMemoryStream(ptr)
}
// -------------------------- Deprecated end --------------------------
// 释放对象。
//
// Free object.
func (m *TMemoryStream) Free() {
if m.instance != 0 {
MemoryStream_Free(m.instance)
m.instance, m.ptr = 0, nullptr
}
}
// 返回对象实例指针。
//
// Return object instance pointer.
func (m *TMemoryStream) Instance() uintptr {
return m.instance
}
// 获取一个不安全的地址。
//
// Get an unsafe address.
func (m *TMemoryStream) UnsafeAddr() unsafe.Pointer {
return m.ptr
}
// 检测地址是否为空。
//
// Check if the address is empty.
func (m *TMemoryStream) IsValid() bool {
return m.instance != 0
}
// 检测当前对象是否继承自目标对象。
//
// Checks whether the current object is inherited from the target object.
func (m *TMemoryStream) Is() TIs {
return TIs(m.instance)
}
// 动态转换当前对象为目标对象。
//
// Dynamically convert the current object to the target object.
//func (m *TMemoryStream) As() TAs {
// return TAs(m.instance)
//}
// 获取类信息指针。
//
// Get class information pointer.
func TMemoryStreamClass() TClass {
return MemoryStream_StaticClassType()
}
// 清除。
func (m *TMemoryStream) Clear() {
MemoryStream_Clear(m.instance)
}
// 文件流加载。
func (m *TMemoryStream) LoadFromStream(Stream IStream) {
MemoryStream_LoadFromStream(m.instance, CheckPtr(Stream))
}
// 从文件加载。
func (m *TMemoryStream) LoadFromFile(FileName string) {
MemoryStream_LoadFromFile(m.instance, FileName)
}
// 移动流指针位置。
func (m *TMemoryStream) Seek(Offset int64, Origin TSeekOrigin) int64 {
return MemoryStream_Seek(m.instance, Offset , Origin)
}
// 保存至流。
func (m *TMemoryStream) SaveToStream(Stream IStream) {
MemoryStream_SaveToStream(m.instance, CheckPtr(Stream))
}
// 保存至文件。
func (m *TMemoryStream) SaveToFile(FileName string) {
MemoryStream_SaveToFile(m.instance, FileName)
}
// 从指定流中复制。
func (m *TMemoryStream) CopyFrom(Source IStream, Count int64) int64 {
return MemoryStream_CopyFrom(m.instance, CheckPtr(Source), Count)
}
// 获取类的类型信息。
//
// Get class type information.
func (m *TMemoryStream) ClassType() TClass {
return MemoryStream_ClassType(m.instance)
}
// 获取当前对象类名称。
//
// Get the current object class name.
func (m *TMemoryStream) ClassName() string {
return MemoryStream_ClassName(m.instance)
}
// 获取当前对象实例大小。
//
// Get the current object instance size.
func (m *TMemoryStream) InstanceSize() int32 {
return MemoryStream_InstanceSize(m.instance)
}
// 判断当前类是否继承自指定类。
//
// Determine whether the current class inherits from the specified class.
func (m *TMemoryStream) InheritsFrom(AClass TClass) bool {
return MemoryStream_InheritsFrom(m.instance, AClass)
}
// 与一个对象进行比较。
//
// Compare with an object.
func (m *TMemoryStream) Equals(Obj IObject) bool {
return MemoryStream_Equals(m.instance, CheckPtr(Obj))
}
// 获取类的哈希值。
//
// Get the hash value of the class.
func (m *TMemoryStream) GetHashCode() int32 {
return MemoryStream_GetHashCode(m.instance)
}
// 文本类信息。
//
// Text information.
func (m *TMemoryStream) ToString() string {
return MemoryStream_ToString(m.instance)
}
// 获取内存指针。
func (m *TMemoryStream) Memory() uintptr {
return MemoryStream_GetMemory(m.instance)
}
// 获取流指针位置。
func (m *TMemoryStream) Position() int64 {
return MemoryStream_GetPosition(m.instance)
}
// 设置流指针位置。
func (m *TMemoryStream) SetPosition(value int64) {
MemoryStream_SetPosition(m.instance, value)
}
// 获取流的大小。
func (m *TMemoryStream) Size() int64 {
return MemoryStream_GetSize(m.instance)
}
// 设置流的大小。
func (m *TMemoryStream) SetSize(value int64) {
MemoryStream_SetSize(m.instance, value)
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/jianyue/govcl.git
git@gitee.com:jianyue/govcl.git
jianyue
govcl
govcl
v2.0.7

搜索帮助