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

#if !WASM
namespace user_rtx { using u = user_rtx;
#else
namespace user_rtx.wasm { using u = user_rtx.wasm;
#endif
//--------------------------------------------------------------------------------------------------

/// <summary>
/// To-string function (delegate)
/// </summary>
public delegate string ToStringFN( object obj );

/// <summary>
/// Equals-function function (delegate)
/// </summary>
public delegate bool EqualsFN( object? o1, object? o2 );

/// <summary>
/// Condition-with-object function (delegate)
/// </summary>
public delegate bool ConditionFN( object obj );

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

/// <summary>
/// Repeate-with-index procedure (delegate); index base = 0
/// </summary>
public delegate void RepeatWithIndexProc( int idx );
/// <summary>
/// Repeate-with-number procedure (delegate); number base = 1
/// </summary>
public delegate void RepeatWithNumberProc( int number );

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

/// <summary>
/// Enumeration procedure (delegate)
/// </summary>
public delegate void EnumerationProc( object element );
/// <summary>
/// Enumeration-with-index procedure (delegate); index base = 0
/// </summary>
public delegate void EnumerationWithIndexProc( object element, int idx );
/// <summary>
/// Enumeration-with-number procedure (delegate); number base = 1
/// </summary>
public delegate void EnumerationWithNumberProc( object element, int number );

/// <summary>
/// Continue-enumeration function (delegate)
/// </summary>
public delegate bool ContinueEnumerationFN( object element );
/// <summary>
/// Continue-enumeration-with-index function (delegate); index base = 0
/// </summary>
public delegate bool ContinueEnumerationWithIndexFN( object element, int idx );
/// <summary>
/// Continue-enumeration-with-number function (delegate); number base = 1
/// </summary>
public delegate bool ContinueEnumerationWithNumberFN( object element, int number );

//--------------------------------------------------------------------------------------------------
} // user_rtx (.wasm)
