// Borland C++ Builder
// Copyright (c) 1995, 1999 by Borland International
// All rights reserved

// (DO NOT EDIT: machine generated header) 'UFlxStack.pas' rev: 5.00

#ifndef UFlxStackHPP
#define UFlxStackHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <SysUtils.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

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

namespace Uflxstack
{
//-- type declarations -------------------------------------------------------
typedef DynamicArray<WideString >  UFlxStack__2;

class DELPHICLASS TStringStack;
class PASCALIMPLEMENTATION TStringStack : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	DynamicArray<WideString >  FList;
	int FListCount;
	
public:
	__fastcall TStringStack(void);
	__fastcall virtual ~TStringStack(void);
	int __fastcall Count(void);
	bool __fastcall AtLeast(int ACount);
	virtual void __fastcall Push(const WideString s);
	void __fastcall Pop(WideString &s);
	void __fastcall Peek(WideString &s);
};


class DELPHICLASS TFormulaStack;
class PASCALIMPLEMENTATION TFormulaStack : public TStringStack 
{
	typedef TStringStack inherited;
	
public:
	AnsiString FmSpaces;
	AnsiString FmPreSpaces;
	AnsiString FmPostSpaces;
	virtual void __fastcall Push(const WideString s);
public:
	#pragma option push -w-inl
	/* TStringStack.Create */ inline __fastcall TFormulaStack(void) : TStringStack() { }
	#pragma option pop
	#pragma option push -w-inl
	/* TStringStack.Destroy */ inline __fastcall virtual ~TFormulaStack(void) { }
	#pragma option pop
	
};


#pragma pack(push, 1)
struct TWhiteSpace
{
	Byte Count;
	Byte Kind;
} ;
#pragma pack(pop)

typedef DynamicArray<TWhiteSpace >  UFlxStack__5;

class DELPHICLASS TWhiteSpaceStack;
class PASCALIMPLEMENTATION TWhiteSpaceStack : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	DynamicArray<TWhiteSpace >  FList;
	int FListCount;
	
public:
	__fastcall TWhiteSpaceStack(void);
	__fastcall virtual ~TWhiteSpaceStack(void);
	int __fastcall Count(void);
	bool __fastcall AtLeast(int ACount);
	virtual void __fastcall Push(const TWhiteSpace s);
	void __fastcall Pop(TWhiteSpace &s);
	void __fastcall Peek(TWhiteSpace &s);
};


//-- var, const, procedure ---------------------------------------------------

}	/* namespace Uflxstack */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Uflxstack;
#endif
#pragma option pop	// -w-
#pragma option pop	// -Vx

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