Skip to content

Instantly share code, notes, and snippets.

View nathan-alden-sr's full-sized avatar

Nathan Alden, Sr. nathan-alden-sr

View GitHub Profile
@nathan-alden-sr
nathan-alden-sr / StandardResponse.cs
Created November 5, 2021 03:53
ASP.NET Core 6: Standard response fluent API
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Routing;
using Microsoft.Extensions.Primitives;
public static class StandardResponse
{
// 100 Continue
public static StandardResponseBuilder Continue() => new(StatusCodes.Status100Continue);
@nathan-alden-sr
nathan-alden-sr / IStandardResponse`1.cs
Last active November 5, 2021 02:57
ASP.NET Core 6: Standard responses, Swashbuckle filters, 400 handler, 500 handler
using Microsoft.AspNetCore.Mvc;
public interface IStandardResponse<out T> : IActionResult
{
T? Data { get; }
string? Message { get; }
}
@nathan-alden-sr
nathan-alden-sr / BitArray1024.cs
Last active December 22, 2020 22:30
A struct implementation of a 1024-bit bit array
using System;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Intrinsics;
using System.Runtime.Intrinsics.Arm;
using System.Runtime.Intrinsics.X86;
namespace ConsoleApp1
{
@nathan-alden-sr
nathan-alden-sr / Convert-Macros.ps1
Last active June 24, 2020 15:15
Scans a C header file for common macro patterns and converts them to C# compatible with TerraFX bindings.
<#
Copyright 2020 Nathan Alden, Sr.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE