Chasm.Formatting
2.3.1
See the version list below for details.
dotnet add package Chasm.Formatting --version 2.3.1
NuGet\Install-Package Chasm.Formatting -Version 2.3.1
<PackageReference Include="Chasm.Formatting" Version="2.3.1" />
<PackageVersion Include="Chasm.Formatting" Version="2.3.1" />
<PackageReference Include="Chasm.Formatting" />
paket add Chasm.Formatting --version 2.3.1
#r "nuget: Chasm.Formatting, 2.3.1"
#addin nuget:?package=Chasm.Formatting&version=2.3.1
#tool nuget:?package=Chasm.Formatting&version=2.3.1
Chasm.Formatting
Provides various formatting and parsing utility types and methods.
SpanBuilder
A helper structure designed to minimize formatting's memory allocation by allocating the exact required amount of memory and then formatting directly into it.
public readonly struct MyStruct : ISpanBuildable
{
private readonly string? text;
private readonly int number;
public override string ToString()
=> SpanBuilder.Format(this);
// Of course, on this scale, using SpanBuilder would be detrimental to performance.
// You should use it in more complex scenarios, with lots of nesting.
public void CalculateLength()
=> text?.Length ?? SpanBuilder.CalculateLength(number);
public void BuildString(ref SpanBuilder sb)
{
if (text is not null)
sb.Append(text);
else
sb.Append((uint)number);
}
}
SpanParser
A helper structure designed to quickly and efficiently parse text.
string text = """
$variable = [some value];
DoSomething();
""";
SpanParser parser = new SpanParser(text);
// returns true and moves forward, if the next character is '$' or '@'
if (parser.SkipAny('$', '@'))
{
// reads "variable" and returns it
ReadOnlySpan<char> name = parser.ReadAsciiLetters();
parser.SkipWhitespaces();
// returns true and moves forward, if the next character is '='
if (parser.Skip('='))
{
parser.SkipWhitespaces();
// reads "[some value]" and returns it
ReadOnlySpan<char> value = parser.ReadUntil(c => c == ';');
/* ... */
}
}
// returns the current character, or '\0' if the parser reached the end
else if (parser.Peek() is >= 'A' and <= 'Z')
{
char read = parser.Read(); // reads a character (or '\0') and moves forward
/* ... */
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp2.1 is compatible. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETCoreApp 2.1
- No dependencies.
-
.NETStandard 2.1
- No dependencies.
-
net5.0
- No dependencies.
-
net6.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Chasm.Formatting:
Package | Downloads |
---|---|
Chasm.SemanticVersioning
A semantic versioning library focused on functionality and performance. |
|
GrammarSharp.Russian
Provides a bunch of classes, structures and methods pertaining to Russian declension of nouns, adjectives and pronouns. |
|
GrammarSharp
Package Description |
|
GrammarSharp.English
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.