Namespace: OpenEdge.Core
Class
Memptr
Parent classes:
Progress.Lang.Object

Inherits: Progress.Lang.Object
Implements: Ccs.Common.Support.IMemptrHolder

Copyright (c) 2014-2019 by Progress Software Corporation. All rights reserved.
File:Memptr
Purpose:Object representation of an ABL primitive MEMPTR.
Author(s):pjudge
Created:Wed Apr 02 16:42:15 EDT 2014
Notes:* The constructor with the memptr input is a deep copy/clone
of the input memptr. The caller is responsible for cleanup
of that input memptr. If a shallow copy is desired, then the
(size, pointer-value) constructor should be used.
Purpose: the actual memptr under management here




Method Summary
Options Name Purpose
_Debug () /** Debug/dump of the contents of this object on a per-byte basic. COPY-LOB can also be used for debug purposes (COPY-LOB objMemptr:Value TO FILE). */
Clear () /** Clears/resets the current memptr. Clears the memory and resets it to its former size. */
INTEGER GetByte (int64) /** Returns a byte at the specified position @param int64 The position at which to return the byte. @return integer The byte value at the current position */
OpenEdge.Core.Memptr GetBytes (int64) /** Returns a Memptr instance containing the specified number of bytes, starting at the current Position. @param int64 The number of bytes to return @return Memptr The complete data */
OpenEdge.Core.Memptr GetBytes (int64, int64) /** Returns a Memptr instance containing the specified number of bytes, starting at the specified postition. @param int64 The starting position @param int64 The number of bytes to return @return Memptr The complete bucket data */
RAW GetHash () /** Returns a hash of the current contents of the memptr. This can be used for comparing memptr values quickly. @return raw The hashed value of the memptr. */
RAW GetHash (HashAlgorithmEnum) /** Returns a hash of the current contents of the memptr. This can be used for comparing memptr values quickly. @param HashAlgorithmEnum The algorithm to use for the message @return raw The hashed value of the memptr. */
INT64 GetPointerValue () /** Returns the pointer value of the current memptr. @param int64 The pointer to memory represented by this memptr */
LONGCHAR GetString (int64) /** Returns a string/character representation from a given start position, for the remainder of the data. @param int64 The start potision @return longchar The character/string data requested */
LONGCHAR GetString (int64, int64) /** Returns a string/character representation a particular number of bytes, from a given start position. @param int64 The start potision @param int64 The size of the data (in bytes) to return @return longchar The character/string data requested */
LONGCHAR GetString (int64, int64, character) /** Returns a string/character representation a particular number of bytes, from a given start position. @param int64 The start potision @param int64 The size of the data (in bytes) to return @param character The target codepage for the character data @return longchar The character/string data requested */
LONGCHAR GetString (int64, int64, character, character) /** Returns a string/character representation a particular number of bytes, from a given start position. @param int64 The start potision @param int64 The size of the data (in bytes) to return @param character The source codepage for the character data @param character The target codepage for the character data @return longchar The character/string data requested */
PutBytes (int64, int64) /** Copies all of the bytes from a memptr into this memptr. The caller is responsible for cleaning up the memptr. @param int64 The pointer to memory represented by a memptr (via get-pointer-value). @param int64 The size of the memptr represented by the pointer value. */
PutBytes (memptr) /** Copies all of the bytes from a memptr (primitive) into this bucket. The caller is responsible for cleaning up the memptr. @param memptr The memptr containing the data. */
PutBytes (raw) /** Copies all of the bytes from a raw into this memptr. @param raw The raw variable containing the source data */
CHARACTER ToString ()

Constructor Summary
Options Name Purpose
Memptr () /* Defautl constructor */
Memptr (int64) /** Constructor. @param int64 The size of the memptr to be created. */
Memptr (int64, int64) /** Constructor. @param int64 The pointer to memory represented by a memptr (via get-pointer-value). @param int64 The size of the memptr represented by the pointer value. */
Memptr (memptr) /** Deep copy/clone of the input memptr. Caller is responsible for cleanup. */
Memptr (raw) /** Deep copy/clone of the input memptr. */

Property Summary
Options Name Purpose
LOGICAL AutoDestroy
OpenEdge.Core.ByteOrderEnum ByteOrder
OpenEdge.Core.Memptr Empty
LOGICAL ExternalAllocation
INT64 Size
OpenEdge.Core.Memptr Value


Method Detail
Top

PUBLIC _Debug ()

Purpose: Debug/dump of the contents of this object on a per-byte basic. COPY-LOB
can also be used for debug purposes (COPY-LOB objMemptr:Value TO FILE).
Top

PUBLIC Clear ()

Purpose: Clears/resets the current memptr. Clears the memory and resets it to
its former size.
Top

PUBLIC INTEGER GetByte (int64)

Purpose: Returns a byte at the specified position
Parameters:
piPos INT64
Returns INTEGER
integer The byte value at the current position
Top

PUBLIC OpenEdge.Core.Memptr GetBytes (int64)

Purpose: Returns a Memptr instance containing the specified number of bytes,
starting at the current Position.
Parameters:
piStartPos INT64
Returns OpenEdge.Core.Memptr
Memptr The complete data
Top

PUBLIC OpenEdge.Core.Memptr GetBytes (int64, int64)

Purpose: Returns a Memptr instance containing the specified number of bytes,
starting at the specified postition.
Parameters:
piStartPos INT64
piSliceSize INT64
Returns OpenEdge.Core.Memptr
Memptr The complete bucket data
Top

PUBLIC RAW GetHash ()

Purpose: Returns a hash of the current contents of the memptr. This can be used
for comparing memptr values quickly.
Returns RAW
raw The hashed value of the memptr.
Top

PUBLIC RAW GetHash (HashAlgorithmEnum)

Purpose: Returns a hash of the current contents of the memptr. This can be used
for comparing memptr values quickly.
Parameters:
poAlgorithm OpenEdge.Core.HashAlgorithmEnum
Returns RAW
raw The hashed value of the memptr.
Top

PUBLIC INT64 GetPointerValue ()

Purpose: Returns the pointer value of the current memptr.
Returns INT64
Top

PUBLIC LONGCHAR GetString (int64)

Purpose: Returns a string/character representation from a given start position,
for the remainder of the data.
Parameters:
piStartPos INT64
Returns LONGCHAR
longchar The character/string data requested
Top

PUBLIC LONGCHAR GetString (int64, int64)

Purpose: Returns a string/character representation a particular number of bytes,
from a given start position.
Parameters:
piStartPos INT64
piSliceSize INT64
Returns LONGCHAR
longchar The character/string data requested
Top

PUBLIC LONGCHAR GetString (int64, int64, character)

Purpose: Returns a string/character representation a particular number of bytes,
from a given start position.
Parameters:
piStartPos INT64
piSliceSize INT64
pcTargetCodepage CHARACTER
Returns LONGCHAR
longchar The character/string data requested
Top

PUBLIC LONGCHAR GetString (int64, int64, character, character)

Purpose: Returns a string/character representation a particular number of bytes,
from a given start position.
Parameters:
piStartPos INT64
piSliceSize INT64
pcSourceCodepage CHARACTER
pcTargetCodepage CHARACTER
Returns LONGCHAR
longchar The character/string data requested
Top

PUBLIC PutBytes (int64, int64)

Purpose: Copies all of the bytes from a memptr into this memptr. The
caller is responsible for cleaning up the memptr.
Parameters:
piPointerValue INT64
piSize INT64
Top

PUBLIC PutBytes (memptr)

Purpose: Copies all of the bytes from a memptr (primitive) into this bucket. The
caller is responsible for cleaning up the memptr.
Parameters:
pmData OpenEdge.Core.Memptr
Top

PUBLIC PutBytes (raw)

Purpose: Copies all of the bytes from a raw into this memptr.
Parameters:
prData RAW
Top

PUBLIC CHARACTER ToString ()

Returns CHARACTER


Constructor Detail
Top

PROTECTED Memptr ()

/* Defautl constructor
Top

PUBLIC Memptr (int64)

Purpose: Constructor.
Parameters:
piSize INT64
Top

PUBLIC Memptr (int64, int64)

Purpose: Constructor.
Parameters:
piPtr INT64
piSize INT64
Top

PUBLIC Memptr (memptr)

Purpose: Deep copy/clone of the input memptr. Caller is responsible for cleanup.
Parameters:
pmValue OpenEdge.Core.Memptr
Top

PUBLIC Memptr (raw)

Purpose: Deep copy/clone of the input memptr.
Parameters:
prValue RAW


Property Detail
Top

PUBLIC LOGICAL AutoDestroy

Returns LOGICAL
Top

PUBLIC OpenEdge.Core.ByteOrderEnum ByteOrder

Returns OpenEdge.Core.ByteOrderEnum
Top

PUBLIC OpenEdge.Core.Memptr Empty

Returns OpenEdge.Core.Memptr
Top

PUBLIC LOGICAL ExternalAllocation

Returns LOGICAL
Top

PUBLIC INT64 Size

Returns INT64
Top

PUBLIC OpenEdge.Core.Memptr Value

Returns OpenEdge.Core.Memptr


Copyright © 2020 Progress Software Corporation. All rights Reserved.

Progress® OpenEdge® Release 12.2.0