// Borland C++ Builder
// Copyright (c) 1995, 2005 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Variantrtn.pas' rev: 10.00

#ifndef VariantrtnHPP
#define VariantrtnHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Variants.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Variantrtn
{
//-- type declarations -------------------------------------------------------
typedef void __fastcall (*TProcReadElementValue)(const Variant &Value, int * IndexValue, const int IndexValue_Size, const int HighBoundInd, bool &Continue);

typedef void __fastcall (*TProcWriteElementValue)(const Variant &OldValue, int * IndexValue, const int IndexValue_Size, Variant &NewValue, bool &Continue);

//-- var, const, procedure ---------------------------------------------------
extern PACKAGE int __fastcall CompareVariants(const Variant &v, const Variant &v1);
extern PACKAGE bool __fastcall CompareVariantsEQ(const Variant &v, const Variant &v1);
extern PACKAGE bool __fastcall NeedCastForCompare(const Variant &v, const Variant &v1);
extern PACKAGE bool __fastcall EasyCompareVarArray1(const Variant &vArray1, const Variant &vArray2, int HighBound);
extern PACKAGE bool __fastcall CompareVarArray1(const Variant &vArray1, const Variant &vArray2);
extern PACKAGE bool __fastcall CycleReadArray(const Variant &vArray, TProcReadElementValue CallBackProc);
extern PACKAGE bool __fastcall CycleWriteArray(Variant &vArray, TProcWriteElementValue CallBackProc);
extern PACKAGE Variant __fastcall SafeVarArrayCreate(int const * Bounds, const int Bounds_Size, int VarType, int DimCount);
extern PACKAGE Variant __fastcall VarArrayGet(const Variant &A, int const * Indices, const int Indices_Size, const int HighBound);
extern PACKAGE void __fastcall VarArrayPut(Variant &A, const Variant &Value, int const * Indices, const int Indices_Size, const int HighBound);

}	/* namespace Variantrtn */
using namespace Variantrtn;
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Variantrtn
