//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
// DataHelpers.SQL satellite library | Author: Sergei Y.Kitáev
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
using System;
using System.Data.SqlClient;
using u = user_rtx;

namespace DataHelpers.SQL {

partial class HSPOutputBase {
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local]
protected static T? VAL_N<T>( SqlParameter parameter )
where T: struct =>
   HSPOutputReader.VAL_N<T>( parameter );

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

/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local]
protected static string? STR_N( SqlParameter parameter ) =>
   HSPOutputReader.STR_N( parameter );
/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local]
protected static string? NS_N( SqlParameter parameter ) =>
   HSPOutputReader.NS_N( parameter );

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

/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local]
protected static int? INT_N( SqlParameter parameter ) =>
   HSPOutputReader.INT_N( parameter );
/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local]
protected static long? BIGINT_N( SqlParameter parameter ) =>
   HSPOutputReader.BIGINT_N( parameter );

/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local]
protected static double? FP_N( SqlParameter parameter ) =>
   HSPOutputReader.FP_N( parameter );

/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local]
protected static decimal? DEC_N( SqlParameter parameter ) =>
   HSPOutputReader.DEC_N( parameter );

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

/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local]
protected static bool? BOOL_N( SqlParameter parameter ) =>
   HSPOutputReader.BOOL_N( parameter );

/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local]
protected static DateTime? DT_N( SqlParameter parameter ) =>
   HSPOutputReader.DT_N( parameter );
/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local]
protected static DateTime? UTC_N( SqlParameter parameter ) =>
   HSPOutputReader.UTC_N( parameter );

/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local]
protected static Guid? GUID_N( SqlParameter parameter ) =>
   HSPOutputReader.GUID_N( parameter );

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

/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local]
protected static byte[]? BINARY_N( SqlParameter parameter ) =>
   HSPOutputReader.BINARY_N( parameter );

//--------------------------------------------------------------------------------------------------
/*
/// <exception cref="InvalidOperationException" />
/// <exception cref="InvalidCastException" />
/// <exception cref="HDatabaseException" />
[u.async_local]
protected static ...? ..._N( SqlParameter parameter ) =>
   HSPOutputReader...._N( parameter );
*/
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
} // HSPOutputBase

} // DataHelpers.SQL
