//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
// CommonHelpers satellite library | Author: Sergei Y.Kitáev
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
using System;

#if !WASM
namespace CommonHelpers {
#else
namespace CommonHelpers.WASM {
#endif

//**************************************************************************************************
/// <summary>
/// </summary>
public partial class HAppExitException<T>: HAppExitException {
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

public HAppExitException()
   {}

//--------------------------------------------------------------------------------------------------

public HAppExitException(string message)
   :base( message ) {}

public HAppExitException(string message,Exception innerException)
   :base( message, innerException ) {}

public HAppExitException(string message,int exitCode)
   :base ( message, exitCode ) {}

public HAppExitException(string message,Exception innerException,int exitCode)
   :base ( message, innerException, exitCode ) {}

//--------------------------------------------------------------------------------------------------

public HAppExitException(int exitCode)
   :base ( exitCode ) {}

public HAppExitException(Exception innerException)
   :base ( innerException ) {}

public HAppExitException(Exception innerException,int exitCode)
   :base ( innerException, exitCode ) {}

//==================================================================================================

public HAppExitException(T associatedData)
   :base ( associatedData ) {}

//--------------------------------------------------------------------------------------------------

public HAppExitException(string message,T associatedData)
   :base ( message, associatedData ) {}

public HAppExitException(string message,Exception innerException,T associatedData)
   :base ( message, innerException, associatedData ) {}

public HAppExitException(string message,int exitCode,T associatedData)
   :base ( message, exitCode, associatedData ) {}

public HAppExitException( string message, Exception innerException,
                           int? exitCode, T associatedData )
   :base ( message, innerException, exitCode, associatedData ) {}

//--------------------------------------------------------------------------------------------------

public HAppExitException(int exitCode,T associatedData)
   :base ( exitCode, associatedData ) {}

public HAppExitException(Exception innerException,T associatedData)
   :base ( innerException, associatedData ) {}

public HAppExitException(Exception innerException,int exitCode,T associatedData)
   :base ( innerException, exitCode, associatedData ) {}

//==================================================================================================

public new T AssociatedData
{
   get { return (T)base.AssociatedData; }
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
} // HAppExitException<T>
//**************************************************************************************************

} // CommonHelpers (.WASM)
