воскресенье, 12 апреля 2026 г.

m3AttrIndexDumpersCache

{$IfDef FPC}{$CodePage cp1251}{$EndIf FPC}

unit m3AttrIndexDumpersCache;

// --------------------------------------------------------------------------
// Родители: "SearchByAttributes" <> MUID: (66C47D3E0363) :: "m3" <> MUID: (548712F60101) :: "Shared Delphi Low Level" <> MUID: (4ABCC25A0322)
// --------------------------------------------------------------------------
// Модуль: "w:\common\components\rtl\Garant\m3\m3AttrIndexDumpersCache.pas" GeneratorVersion: 1.0.0.883901
// Стереотип: "<>"
// Элемент модели: "Tm3AttrIndexDumpersCache" MUID: (69B54CEC0061)
// --------------------------------------------------------------------------

//#UC START# *69B54CEC0061BeforeDefines*
//#UC END# *69B54CEC0061BeforeDefines*
{$Include m3Define.inc}

interface

uses
 l3IntfUses
 , m3SearcherInterfaces
 , TypInfo
 , l3CoreInterfaces
 , l3ProtoDataContainer
 , l3PureMixIns
 , l3Ptr
 , l3Types
 , l3Interfaces
 , l3Except
 , Classes
 , l3ProxyObjects
 , l3TypesModelPart
;

type
 Tm3AttrIndexDumperKeyPtr = ^Tm3AttrIndexDumperKey;
  {* Указатель на Tm3AttrIndexDumperKey }

 Tm3AttrIndexDumperKey = {$If Defined(XE4)}record{$Else}object{$IfEnd} // XE4
  public
   rAttrID: Integer;
   rIsDirect: Boolean;
  public
   function Compare(const anOther: Tm3AttrIndexDumperKey): Integer;
 end;//Tm3AttrIndexDumperKey

 {$If not Defined(_ValueType_Defined_) }
  {Tm3AttrIndexDumpersCache.}_ValueType_ = Im3AttrIndexDumper;
  {$Define _ValueType_Defined_ }
  {$Define _ValueType_IsInterface_ }
  {$Define _ValueType_IsManaged_ }
  {$Define _ValueType_IsAcceptableForScripts_ }
  {$Define _ValueType_PublicatedInScripts_ }
 {$IfEnd} // not Defined(_ValueType_Defined_)
 {$If not Defined(_KeyType_Defined_) }
  {Tm3AttrIndexDumpersCache.}_KeyType_ = Tm3AttrIndexDumperKey;
  {$Define _KeyType_Defined_ }
  {$Define _KeyType_IsRecord_ }
  {$Define _KeyType_IsStaticObject_ }
  {$Define _KeyType_IsManaged_ }
  {$Define _KeyType_IsAcceptableForScripts_ }
  {$Define _KeyType_PublicatedInScripts_ }
 {$IfEnd} // not Defined(_KeyType_Defined_)
 {$Define l3Items_IsProto}
 {$Include l3Map_imp.pas}
 {$If NOT Defined(l3HasNeTy)}
  Tm3AttrIndexDumpersCache_KeyValuePair = KeyValuePair;
 {$IfEnd} // NOT Defined(l3HasNeTy)

 {$If NOT Defined(l3HasNeTy)}
  Tm3AttrIndexDumpersCache_PValueType = PValueType;
 {$IfEnd} // NOT Defined(l3HasNeTy)

 {$If NOT Defined(l3HasNeTy)}
  Tm3AttrIndexDumpersCache_PKeyValuePair = PKeyValuePair;
 {$IfEnd} // NOT Defined(l3HasNeTy)

 {$If NOT Defined(l3HasNeTy)}
  Tm3AttrIndexDumpersCache_PKeyType = PKeyType;
 {$IfEnd} // NOT Defined(l3HasNeTy)

 {$If NOT Defined(l3HasNeTy)}
  Tm3AttrIndexDumpersCache_PItemSlot = PItemSlot;
 {$IfEnd} // NOT Defined(l3HasNeTy)

 {$If NOT Defined(l3HasNeTy)}
  Tm3AttrIndexDumpersCache_Enumerator = Enumerator;
 {$IfEnd} // NOT Defined(l3HasNeTy)

 {$If NOT Defined(l3HasNeTy)}
  Tm3AttrIndexDumpersCache_PItemType = PItemType;
 {$IfEnd} // NOT Defined(l3HasNeTy)

 {$If NOT Defined(l3HasNeTy)}
  Tm3AttrIndexDumpersCache_Enumerable = Enumerable;
 {$IfEnd} // NOT Defined(l3HasNeTy)

 {$If NOT Defined(l3HasNeTy)}
  Tm3AttrIndexDumpersCache_PairEnumerator = PairEnumerator;
 {$IfEnd} // NOT Defined(l3HasNeTy)

 {$If NOT Defined(l3HasNeTy)}
  Tm3AttrIndexDumpersCache_SEnumerator = SEnumerator;
 {$IfEnd} // NOT Defined(l3HasNeTy)

 {$If NOT Defined(l3HasNeTy)}
  Tm3AttrIndexDumpersCache_RevertedSEnumerator = RevertedSEnumerator;
 {$IfEnd} // NOT Defined(l3HasNeTy)

 {$If NOT Defined(l3HasNeTy)}
  Tm3AttrIndexDumpersCache_PFindItemType = PFindItemType;
 {$IfEnd} // NOT Defined(l3HasNeTy)

 {$If NOT Defined(l3HasNeTy)}
  Tm3AttrIndexDumpersCache_l3TypedListPrim_AcceptsItemFunc = l3TypedListPrim_AcceptsItemFunc;
 {$IfEnd} // NOT Defined(l3HasNeTy)

 {$If NOT Defined(l3HasNeTy)}
  Tm3AttrIndexDumpersCache_l3TypedListPrim_AcceptsItemEvent = l3TypedListPrim_AcceptsItemEvent;
 {$IfEnd} // NOT Defined(l3HasNeTy)

 {$If NOT Defined(l3HasNeTy)}
  Tm3AttrIndexDumpersCache_l3TypedListPrim_Filter = l3TypedListPrim_Filter;
 {$IfEnd} // NOT Defined(l3HasNeTy)

 Tm3AttrIndexDumpersCache = class(_l3Map_)
  public
   {$If NOT Defined(l3NoSRT)}
   function SetRefTo(var thePlace: Tm3AttrIndexDumpersCache): Boolean; overload; {$If Defined(l3HasInl)}inline;{$IfEnd}
   {$IfEnd} // NOT Defined(l3NoSRT)
 end;//Tm3AttrIndexDumpersCache

 IBoxFor_Tm3AttrIndexDumperKey = interface(Il3Box)
  ['{3A8ED89A-A380-4BAF-A7A6-39B2E8EBFE11}']
  function Get_Boxed: Tm3AttrIndexDumperKey;
  function Get_pBoxed: Tm3AttrIndexDumperKeyPtr;
  function Get_rAttrID: Integer;
  function Get_rIsDirect: Boolean;
  function Compare(const anOther: Tm3AttrIndexDumperKey): Integer; overload;
  function Compare(const anOther: IBoxFor_Tm3AttrIndexDumperKey): Integer; overload;
  property Boxed: Tm3AttrIndexDumperKey
   read Get_Boxed;
  property pBoxed: Tm3AttrIndexDumperKeyPtr
   read Get_pBoxed;
  property rAttrID: Integer
   read Get_rAttrID;
  property rIsDirect: Boolean
   read Get_rIsDirect;
 end;//IBoxFor_Tm3AttrIndexDumperKey

function Tm3AttrIndexDumperKey_C(anAttrID: Integer;
 anIsDirect: Boolean): Tm3AttrIndexDumperKey;
function Tm3AttrIndexDumperKey_TypeInfo: PTypeInfo;
{$If NOT Defined(NoScripts)}
function Tm3AttrIndexDumperKey_ToValue(const aSelf: Tm3AttrIndexDumperKey): TtfwStackValue;
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
function TtfwStackValue_C(const aSelf: Tm3AttrIndexDumperKey): TtfwStackValue; overload;
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
function Tm3AttrIndexDumperKey_ToBox(const aSelf: Tm3AttrIndexDumperKey): Il3Box;
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
function Tm3AttrIndexDumperKey_FromValue(const aValue: TtfwStackValue): Tm3AttrIndexDumperKey;
{$IfEnd} // NOT Defined(NoScripts)

implementation

uses
 l3ImplUses
 , l3BoxForStruct
 {$If NOT Defined(NoScripts)}
 , tfwReadonlyPropertyLike
 {$IfEnd} // NOT Defined(NoScripts)
 {$If NOT Defined(NoScripts)}
 , tfwValueTypes
 {$IfEnd} // NOT Defined(NoScripts)
 {$If NOT Defined(NoScripts)}
 , tfwScriptingInterfaces
 {$IfEnd} // NOT Defined(NoScripts)
 {$If NOT Defined(NoScripts)}
 , tfwClassBinaryIntegerOperator
 {$IfEnd} // NOT Defined(NoScripts)
 {$If NOT Defined(NoScripts)}
 , tfwClassCreator
 {$IfEnd} // NOT Defined(NoScripts)
 {$If NOT Defined(NoScripts)}
 , tfwWordInfo
 {$IfEnd} // NOT Defined(NoScripts)
 {$If NOT Defined(NoScripts)}
 , tfwAxiomaticsResNameGetter
 {$IfEnd} // NOT Defined(NoScripts)
 , l3PointerUtils
 , l3MemUtils
 , l3MinMax
 , RTLConsts
 , SysUtils
 , Math
 {$If NOT Defined(Linux)}
 , Windows
 {$Else NOT Defined(Linux)}
 // using l3LinWindows instead of Windows
 , l3LinWindows
 {$IfEnd} // NOT Defined(Linux)
 {$If NOT Defined(NoScripts)}
 , TtfwTypeRegistrator_Proxy
 {$IfEnd} // NOT Defined(NoScripts)
 , l3String
 {$If NOT Defined(NoScripts)}
 , tfwTypeInfo
 {$IfEnd} // NOT Defined(NoScripts)
 {$If NOT Defined(NoScripts)}
 , TtfwClassRef_Proxy
 {$IfEnd} // NOT Defined(NoScripts)
 {$If NOT Defined(NoScripts)}
 , tfwRegisterableWordPrim
 {$IfEnd} // NOT Defined(NoScripts)
 , tfwCStringFactory
 //#UC START# *69B54CEC0061impl_uses*
 //#UC END# *69B54CEC0061impl_uses*
;

{$If NOT Defined(NoScripts)}
type
 TBoxFor_Tm3AttrIndexDumperKey = {final} class(Tl3BoxForStruct, IBoxFor_Tm3AttrIndexDumperKey)
  private
   f_Boxed: Tm3AttrIndexDumperKey;
  protected
   function Compare(const anOther: Tm3AttrIndexDumperKey): Integer; overload;
   function Compare(const anOther: IBoxFor_Tm3AttrIndexDumperKey): Integer; overload;
   function Get_Boxed: Tm3AttrIndexDumperKey;
   function Get_pBoxed: Tm3AttrIndexDumperKeyPtr;
   function Get_rAttrID: Integer;
   function Get_rIsDirect: Boolean;
   function GetDataPtr: Pointer; override;
   function GetDataSize: Integer; override;
   function GetBoxTypeInfo: PTypeInfo; override;
   function DoCompare(const anOther: Il3Box): Integer; override;
   function GetAsPrintable(const aCtx: TtfwContextStub): Il3CString; override;
   procedure ClearFields; override;
  public
   constructor Create(const aBoxed: Tm3AttrIndexDumperKey); reintroduce;
   class function Make(const aBoxed: Tm3AttrIndexDumperKey): IBoxFor_Tm3AttrIndexDumperKey; reintroduce;
 end;//TBoxFor_Tm3AttrIndexDumperKey
{$IfEnd} // NOT Defined(NoScripts)

{$If NOT Defined(NoScripts)}
type
 TkwTm3AttrIndexDumperKeyRAttrID = TtfwReadonlyPropertyLike;
  {* Слово скрипта m3AttrIndexDumperKey:rAttrID }
{$IfEnd} // NOT Defined(NoScripts)

{$If NOT Defined(NoScripts)}
type
 TkwTm3AttrIndexDumperKeyRIsDirect = TtfwReadonlyPropertyLike;
  {* Слово скрипта m3AttrIndexDumperKey:rIsDirect }
{$IfEnd} // NOT Defined(NoScripts)

{$If NOT Defined(NoScripts)}
type
 TkwTm3AttrIndexDumperKeyCompare = TtfwClassBinaryIntegerOperator;
  {* Слово скрипта m3AttrIndexDumperKey:Compare }
{$IfEnd} // NOT Defined(NoScripts)

{$If NOT Defined(NoScripts)}
type
 TkwTm3AttrIndexDumperKeyC = TtfwClassCreator;
  {* Слово скрипта m3AttrIndexDumperKey:C }
{$IfEnd} // NOT Defined(NoScripts)

{$If NOT Defined(NoScripts)}
type
 TTm3AttrIndexDumperKeyKeywordsPackResNameGetter = {final} class(TtfwAxiomaticsResNameGetter)
  {* Регистрация скриптованой аксиоматики }
  public
   class function ResName: AnsiString; override;
 end;//TTm3AttrIndexDumperKeyKeywordsPackResNameGetter
{$IfEnd} // NOT Defined(NoScripts)

{$If NOT Defined(NoScripts)}
function TkwTm3AttrIndexDumperKeyRAttrID_Integer_ResultTypeInfo: TtfwValueTypes;
begin
 Result := TtfwValueTypes.Make(TtfwTypeInfo.MakeInteger);
end;//TkwTm3AttrIndexDumperKeyRAttrID_Integer_ResultTypeInfo
{$IfEnd} // NOT Defined(NoScripts)

{$If NOT Defined(NoScripts)}
procedure TkwTm3AttrIndexDumperKeyRAttrID_DoIt(const aCtx: TtfwContext);
var l_aSelf: IBoxFor_Tm3AttrIndexDumperKey;
begin
 try
  l_aSelf := IBoxFor_Tm3AttrIndexDumperKey(aCtx.rEngine.Pop.AsIntf(TypeInfo(IBoxFor_Tm3AttrIndexDumperKey)));
 except
  on E: Exception do
  begin
   aCtx.GetParamError('aSelf: IBoxFor_Tm3AttrIndexDumperKey : ', E);
   Exit;
  end;//on E: Exception
 end;//try..except
 aCtx.rEngine.PushInt(l_aSelf.rAttrID, TypeInfo(Integer));
end;//TkwTm3AttrIndexDumperKeyRAttrID_DoIt
{$IfEnd} // NOT Defined(NoScripts)

{$If NOT Defined(NoScripts)}
function TkwTm3AttrIndexDumperKeyRIsDirect_Boolean_ResultTypeInfo: TtfwValueTypes;
begin
 Result := TtfwValueTypes.Make(TtfwTypeInfo.MakeBoolean);
end;//TkwTm3AttrIndexDumperKeyRIsDirect_Boolean_ResultTypeInfo
{$IfEnd} // NOT Defined(NoScripts)

{$If NOT Defined(NoScripts)}
procedure TkwTm3AttrIndexDumperKeyRIsDirect_DoIt(const aCtx: TtfwContext);
var l_aSelf: IBoxFor_Tm3AttrIndexDumperKey;
begin
 try
  l_aSelf := IBoxFor_Tm3AttrIndexDumperKey(aCtx.rEngine.Pop.AsIntf(TypeInfo(IBoxFor_Tm3AttrIndexDumperKey)));
 except
  on E: Exception do
  begin
   aCtx.GetParamError('aSelf: IBoxFor_Tm3AttrIndexDumperKey : ', E);
   Exit;
  end;//on E: Exception
 end;//try..except
 aCtx.rEngine.PushBool(l_aSelf.rIsDirect);
end;//TkwTm3AttrIndexDumperKeyRIsDirect_DoIt
{$IfEnd} // NOT Defined(NoScripts)

{$If NOT Defined(NoScripts)}
procedure TkwTm3AttrIndexDumperKeyCompare_DoIt(const aCtx: TtfwContext);
var l_aSelf: IBoxFor_Tm3AttrIndexDumperKey;
var l_anOther: IBoxFor_Tm3AttrIndexDumperKey;
begin
 try
  l_aSelf := IBoxFor_Tm3AttrIndexDumperKey(aCtx.rEngine.Pop.AsIntf(TypeInfo(IBoxFor_Tm3AttrIndexDumperKey)));
 except
  on E: Exception do
  begin
   aCtx.GetParamError('aSelf: IBoxFor_Tm3AttrIndexDumperKey : ', E);
   Exit;
  end;//on E: Exception
 end;//try..except
 try
  l_anOther := IBoxFor_Tm3AttrIndexDumperKey(aCtx.rEngine.Pop.AsIntf(TypeInfo(IBoxFor_Tm3AttrIndexDumperKey)));
 except
  on E: Exception do
  begin
   aCtx.GetParamError('anOther: IBoxFor_Tm3AttrIndexDumperKey : ', E);
   Exit;
  end;//on E: Exception
 end;//try..except
 aCtx.rEngine.PushInt(l_aSelf.Compare(l_anOther.pBoxed^), TypeInfo(Integer));
end;//TkwTm3AttrIndexDumperKeyCompare_DoIt
{$IfEnd} // NOT Defined(NoScripts)

{$If NOT Defined(NoScripts)}
function TkwTm3AttrIndexDumperKeyC_ParamsTypes: PTypeInfoArray;
begin
 Result := TtfwWord.OpenTypesToTypes([TtfwParamInfo_C('anAttrID', TtfwTypeInfo.MakeInteger), TtfwParamInfo_C('anIsDirect', TtfwTypeInfo.MakeBoolean)]);
end;//TkwTm3AttrIndexDumperKeyC_ParamsTypes
{$IfEnd} // NOT Defined(NoScripts)

{$If NOT Defined(NoScripts)}
procedure TkwTm3AttrIndexDumperKeyC_DoIt(const aCtx: TtfwContext);
var l_anAttrID: Integer;
var l_anIsDirect: Boolean;
begin
 try
  l_anAttrID := aCtx.rEngine.PopInt(TypeInfo(Integer));
 except
  on E: Exception do
  begin
   aCtx.GetParamError('anAttrID: Integer : ', E);
   Exit;
  end;//on E: Exception
 end;//try..except
 try
  l_anIsDirect := aCtx.rEngine.PopBool;
 except
  on E: Exception do
  begin
   aCtx.GetParamError('anIsDirect: Boolean : ', E);
   Exit;
  end;//on E: Exception
 end;//try..except
 aCtx.rEngine.Push(Tm3AttrIndexDumperKey_ToValue(Tm3AttrIndexDumperKey_C(l_anAttrID, l_anIsDirect)));
end;//TkwTm3AttrIndexDumperKeyC_DoIt
{$IfEnd} // NOT Defined(NoScripts)

function Tm3AttrIndexDumperKey_C(anAttrID: Integer;
 anIsDirect: Boolean): Tm3AttrIndexDumperKey;
//#UC START# *69B54E6701EF_69B54D7F0058_var*
//#UC END# *69B54E6701EF_69B54D7F0058_var*
begin
 System.FillChar(Result, SizeOf(Result), 0);
//#UC START# *69B54E6701EF_69B54D7F0058_impl*
 Result.rAttrID := anAttrID;
 Result.rIsDirect := anIsDirect;
//#UC END# *69B54E6701EF_69B54D7F0058_impl*
end;//Tm3AttrIndexDumperKey_C

function Tm3AttrIndexDumperKey_TypeInfo: PTypeInfo;
begin
 Result := TypeInfo(IBoxFor_Tm3AttrIndexDumperKey);
end;//Tm3AttrIndexDumperKey_TypeInfo

{$If NOT Defined(NoScripts)}
function Tm3AttrIndexDumperKey_ToValue(const aSelf: Tm3AttrIndexDumperKey): TtfwStackValue;
begin
 Result := TtfwStackValue_C(Tm3AttrIndexDumperKey_ToBox(aSelf), Tm3AttrIndexDumperKey_TypeInfo);
end;//Tm3AttrIndexDumperKey_ToValue
{$IfEnd} // NOT Defined(NoScripts)

{$If NOT Defined(NoScripts)}
function TtfwStackValue_C(const aSelf: Tm3AttrIndexDumperKey): TtfwStackValue;
begin
 Result := TtfwStackValue_C(Tm3AttrIndexDumperKey_ToBox(aSelf), Tm3AttrIndexDumperKey_TypeInfo);
end;//TtfwStackValue_C
{$IfEnd} // NOT Defined(NoScripts)

{$If NOT Defined(NoScripts)}
function Tm3AttrIndexDumperKey_ToBox(const aSelf: Tm3AttrIndexDumperKey): Il3Box;
begin
 Result := TBoxFor_Tm3AttrIndexDumperKey.Make(aSelf);
end;//Tm3AttrIndexDumperKey_ToBox
{$IfEnd} // NOT Defined(NoScripts)

{$If NOT Defined(NoScripts)}
function Tm3AttrIndexDumperKey_FromValue(const aValue: TtfwStackValue): Tm3AttrIndexDumperKey;
begin
 System.FillChar(Result, SizeOf(Result), 0);
 Result := IBoxFor_Tm3AttrIndexDumperKey(aValue.AsIntf(Tm3AttrIndexDumperKey_TypeInfo)).pBoxed^;
end;//Tm3AttrIndexDumperKey_FromValue
{$IfEnd} // NOT Defined(NoScripts)

{$If NOT Defined(NoScripts)}
function Tm3AttrIndexDumperKeyKeywordsPack_Tm3AttrIndexDumperKey_SelfTypeInfo: TtfwValueTypes;
begin
 Result := TtfwValueTypes.MakeBox('Tm3AttrIndexDumperKey', Tm3AttrIndexDumperKey_TypeInfo);
end;//Tm3AttrIndexDumperKeyKeywordsPack_Tm3AttrIndexDumperKey_SelfTypeInfo
{$IfEnd} // NOT Defined(NoScripts)

function Tm3AttrIndexDumperKey.Compare(const anOther: Tm3AttrIndexDumperKey): Integer;
//#UC START# *69B54E9800BA_69B54D7F0058_var*
//#UC END# *69B54E9800BA_69B54D7F0058_var*
begin
//#UC START# *69B54E9800BA_69B54D7F0058_impl*
 Result := l3CompareBool(Self.rIsDirect, anOther.rIsDirect);
 if (Result = 0) then
  Result := l3CompareInt(Self.rAttrID, anOther.rAttrID);
//#UC END# *69B54E9800BA_69B54D7F0058_impl*
end;//Tm3AttrIndexDumperKey.Compare

type _Instance_R_ = Tm3AttrIndexDumpersCache;

function CompareKeys(const aA: Tm3AttrIndexDumperKey;
 const aB: Tm3AttrIndexDumperKey): Integer;
//#UC START# *5609091B00C0_69B54CEC0061_var*
//#UC END# *5609091B00C0_69B54CEC0061_var*
begin
//#UC START# *5609091B00C0_69B54CEC0061_impl*
 Result := aA.Compare(aB);
//#UC END# *5609091B00C0_69B54CEC0061_impl*
end;//CompareKeys

{$Include l3Map_imp.pas}

{$If NOT Defined(l3NoSRT)}
function Tm3AttrIndexDumpersCache.SetRefTo(var thePlace: Tm3AttrIndexDumpersCache): Boolean;
begin
 if (thePlace = Self) then
  Result := false
 else
 begin
  Result := true;
  thePlace.Free;
  thePlace := Self.Use;
 end;//thePlace = Self
end;//Tm3AttrIndexDumpersCache.SetRefTo
{$IfEnd} // NOT Defined(l3NoSRT)

{$If NOT Defined(NoScripts)}
constructor TBoxFor_Tm3AttrIndexDumperKey.Create(const aBoxed: Tm3AttrIndexDumperKey);
begin
 inherited Create;
 f_Boxed := aBoxed;
end;//TBoxFor_Tm3AttrIndexDumperKey.Create

class function TBoxFor_Tm3AttrIndexDumperKey.Make(const aBoxed: Tm3AttrIndexDumperKey): IBoxFor_Tm3AttrIndexDumperKey;
var
 l_Inst : TBoxFor_Tm3AttrIndexDumperKey;
begin
 l_Inst := Create(aBoxed);
 try
  Result := l_Inst;
 finally
  l_Inst.Free;
 end;//try..finally
end;//TBoxFor_Tm3AttrIndexDumperKey.Make

function TBoxFor_Tm3AttrIndexDumperKey.Compare(const anOther: Tm3AttrIndexDumperKey): Integer;
begin
 Result := f_Boxed.Compare(anOther);
end;//TBoxFor_Tm3AttrIndexDumperKey.Compare

function TBoxFor_Tm3AttrIndexDumperKey.Compare(const anOther: IBoxFor_Tm3AttrIndexDumperKey): Integer;
begin
 Assert(anOther <> nil);
 Result := f_Boxed.Compare(anOther.pBoxed^);
end;//TBoxFor_Tm3AttrIndexDumperKey.Compare

function TBoxFor_Tm3AttrIndexDumperKey.Get_Boxed: Tm3AttrIndexDumperKey;
begin
 Result := f_Boxed;
end;//TBoxFor_Tm3AttrIndexDumperKey.Get_Boxed

function TBoxFor_Tm3AttrIndexDumperKey.Get_pBoxed: Tm3AttrIndexDumperKeyPtr;
begin
 Result := @f_Boxed;
end;//TBoxFor_Tm3AttrIndexDumperKey.Get_pBoxed

function TBoxFor_Tm3AttrIndexDumperKey.Get_rAttrID: Integer;
begin
 Result := f_Boxed.rAttrID;
end;//TBoxFor_Tm3AttrIndexDumperKey.Get_rAttrID

function TBoxFor_Tm3AttrIndexDumperKey.Get_rIsDirect: Boolean;
begin
 Result := f_Boxed.rIsDirect;
end;//TBoxFor_Tm3AttrIndexDumperKey.Get_rIsDirect

function TBoxFor_Tm3AttrIndexDumperKey.GetDataPtr: Pointer;
begin
 Result := @f_Boxed;
end;//TBoxFor_Tm3AttrIndexDumperKey.GetDataPtr

function TBoxFor_Tm3AttrIndexDumperKey.GetDataSize: Integer;
begin
 Result := SizeOf(f_Boxed);
end;//TBoxFor_Tm3AttrIndexDumperKey.GetDataSize

function TBoxFor_Tm3AttrIndexDumperKey.GetBoxTypeInfo: PTypeInfo;
begin
 Result := TypeInfo(IBoxFor_Tm3AttrIndexDumperKey);
end;//TBoxFor_Tm3AttrIndexDumperKey.GetBoxTypeInfo

function TBoxFor_Tm3AttrIndexDumperKey.DoCompare(const anOther: Il3Box): Integer;
begin
 Assert(anOther <> nil);
 Assert(Self.BoxTypeInfo = anOther.BoxTypeInfo);
 Result := Self.Compare(Tm3AttrIndexDumperKeyPtr(anOther.DataPtr)^);
end;//TBoxFor_Tm3AttrIndexDumperKey.DoCompare

function TBoxFor_Tm3AttrIndexDumperKey.GetAsPrintable(const aCtx: TtfwContextStub): Il3CString;
var
 l_Value: AnsiString;
begin
 l_Value := '(';
 l_Value := l_Value + ' rAttrID: ';
 l_Value := l_Value + IntToStr(f_Boxed.rAttrID);
 l_Value := l_Value + ';';
 l_Value := l_Value + ' rIsDirect: ';
 l_Value := l_Value + BoolToStr(f_Boxed.rIsDirect, true);
 l_Value := l_Value + ';';
 l_Value := l_Value + ' )';
 Result := TtfwCStringFactory.C(l_Value);
end;//TBoxFor_Tm3AttrIndexDumperKey.GetAsPrintable

procedure TBoxFor_Tm3AttrIndexDumperKey.ClearFields;
begin
 Finalize(f_Boxed);
 inherited;
end;//TBoxFor_Tm3AttrIndexDumperKey.ClearFields
{$IfEnd} // NOT Defined(NoScripts)

{$If NOT Defined(NoScripts)}
class function TTm3AttrIndexDumperKeyKeywordsPackResNameGetter.ResName: AnsiString;
begin
 Result := 'Tm3AttrIndexDumperKeyKeywordsPack';
end;//TTm3AttrIndexDumperKeyKeywordsPackResNameGetter.ResName

{$R Tm3AttrIndexDumperKeyKeywordsPack.res}
{$IfEnd} // NOT Defined(NoScripts)

initialization
{$If NOT Defined(NoScripts)}
 TkwTm3AttrIndexDumperKeyRAttrID.RegisterInEngine(TtfwRegisterContext_E
  .SetSelfTypeInfo(Tm3AttrIndexDumperKeyKeywordsPack_Tm3AttrIndexDumperKey_SelfTypeInfo)
  .SetResultTypeInfo(TkwTm3AttrIndexDumperKeyRAttrID_Integer_ResultTypeInfo)
  .SetDoItProc(TkwTm3AttrIndexDumperKeyRAttrID_DoIt)
  .SetMethodName('rAttrID'), ['m3AttrIndexDumperKey:rAttrID', '.Tm3AttrIndexDumperKey.rAttrID', 'pop:m3AttrIndexDumperKey:rAttrID']);
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
 TkwTm3AttrIndexDumperKeyRIsDirect.RegisterInEngine(TtfwRegisterContext_E
  .SetSelfTypeInfo(Tm3AttrIndexDumperKeyKeywordsPack_Tm3AttrIndexDumperKey_SelfTypeInfo)
  .SetResultTypeInfo(TkwTm3AttrIndexDumperKeyRIsDirect_Boolean_ResultTypeInfo)
  .SetDoItProc(TkwTm3AttrIndexDumperKeyRIsDirect_DoIt)
  .SetMethodName('rIsDirect'), ['m3AttrIndexDumperKey:rIsDirect', '.Tm3AttrIndexDumperKey.rIsDirect', 'pop:m3AttrIndexDumperKey:rIsDirect']);
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
 TkwTm3AttrIndexDumperKeyCompare.RegisterInEngine(TtfwRegisterContext_E
  .SetSelfTypeInfo(Tm3AttrIndexDumperKeyKeywordsPack_Tm3AttrIndexDumperKey_SelfTypeInfo)
  .SetDoItProc(TkwTm3AttrIndexDumperKeyCompare_DoIt)
  .SetMethodName('Compare'), ['m3AttrIndexDumperKey:Compare', '.Tm3AttrIndexDumperKey.Compare', 'pop:m3AttrIndexDumperKey:Compare']);
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
 TkwTm3AttrIndexDumperKeyC.RegisterInEngine(TtfwRegisterContext_E
  .SetSelfTypeInfo(Tm3AttrIndexDumperKeyKeywordsPack_Tm3AttrIndexDumperKey_SelfTypeInfo)
  .SetParamsTypesFunc(TkwTm3AttrIndexDumperKeyC_ParamsTypes)
  .SetDoItProc(TkwTm3AttrIndexDumperKeyC_DoIt)
  .SetMethodName('C'), ['m3AttrIndexDumperKey:C', '.Tm3AttrIndexDumperKey.C']);
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
 TTm3AttrIndexDumperKeyKeywordsPackResNameGetter.Register;
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
 TtfwTypeRegistrator.RegisterType(TtfwValueTypes.MakeBox('Tm3AttrIndexDumperKey', Tm3AttrIndexDumperKey_TypeInfo));
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
 TtfwTypeRegistrator.RegisterType(TtfwTypeInfo.MakeInteger
 , 'Целое число');
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
 TtfwTypeRegistrator.RegisterType(TtfwTypeInfo.MakeBoolean);
{$IfEnd} // NOT Defined(NoScripts)


//#UC START# *69B54CEC0061forDiagramm*
(*
*)
//#UC END# *69B54CEC0061forDiagramm*

end.

Комментариев нет:

Отправить комментарий