// CodeGear C++Builder
// Copyright (c) 1995, 2021 by Embarcadero Technologies, Inc.
// All rights reserved

// (DO NOT EDIT: machine generated header) 'ABSStrUtils.pas' rev: 35.00 (Windows)

#ifndef AbsstrutilsHPP
#define AbsstrutilsHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member 
#pragma pack(push,8)
#include <System.hpp>
#include <SysInit.hpp>
#include <System.SysUtils.hpp>
#include <Winapi.Windows.hpp>

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

namespace Absstrutils
{
//-- forward type declarations -----------------------------------------------
//-- type declarations -------------------------------------------------------
typedef System::StaticArray<char, 256> TABSCharTable;

typedef TABSCharTable *PABSCharTable;

typedef System::StaticArray<System::Byte, 256> TABSByteTable;

typedef TABSByteTable *PABSByteTable;

typedef int __stdcall (*TCompareStringW)(unsigned Locale, unsigned dwCmpFlags, System::WideChar * lpString1, int cchCount1, System::WideChar * lpString2, int cchCount2);

typedef unsigned __stdcall (*TCharUpperBuffW)(System::WideChar * lpsz, unsigned cchLength);

typedef unsigned __stdcall (*TCharLowerBuffW)(System::WideChar * lpsz, unsigned cchLength);

//-- var, const, procedure ---------------------------------------------------
extern DELPHI_PACKAGE TABSCharTable ToUpperChars;
extern DELPHI_PACKAGE TABSCharTable ToLowerChars;
extern DELPHI_PACKAGE TABSByteTable OrderedChars;
extern DELPHI_PACKAGE TCompareStringW CompareStringW;
extern DELPHI_PACKAGE TCharUpperBuffW CharUpperBuffW;
extern DELPHI_PACKAGE TCharLowerBuffW CharLowerBuffW;
extern DELPHI_PACKAGE System::WideString __fastcall WideUpperCase(const System::WideString S);
extern DELPHI_PACKAGE System::WideString __fastcall WideLowerCase(const System::WideString S);
extern DELPHI_PACKAGE void __fastcall ChangeCaseCustom(char * Buffer, PABSCharTable PTable);
}	/* namespace Absstrutils */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_ABSSTRUTILS)
using namespace Absstrutils;
#endif
#pragma pack(pop)
#pragma option pop

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