Throw in the towel.
Bug Fixes:
Meta.GetDocumentation(MemberInfo)
was throwing an exception on non-public code members. This bug was introduced by https://github.com/ZacharyPatten/Towel/commit/afddb2fef8d749338608f98754a4257fdafbcb8d. The internal method GetXmlNameMethodBase
contained a GetMethods
call that did not pass in BindingFlags
(which the default is public-only). Just needed to add in the BindingFlags
.
Bug Fixes:
Meta.ConvertToCSharpSource
extension method for System.Type
was not passing in the showGenericParameters
parameter during recursive calls
This was the first release to support sourcelink.
New Features:
SpanBuilder<T>
SStringBuilder
sourcedirectory()
GetTag
overload for enum
valuesOptimizations:
ToEnglishWords
optimized
Span<char>
instead of StringBuilder
TryFormat
rather than ToString
on the numeric valueGraphMap.ToArray
optimization (calls KeysToArray
)Changes:
Towel.Extensions
was migrated into Towel.Statics
(there was no reason to have two separate types)
EquateSequence
parameters Span<T>
-> ReadOnlySpan<T>
==
and !=
operators to Lazy typesNew Features:
TryParseEnglishWords
(inverse of ToEnglishWords
)SLazy<T>
and ValueLazy<T>
: SLazyNoCatch<T>
, SLazyNoLock<T>
, SLazyNoLockNoCatch<T>
, SLazyPublicationLock<T>
, SLazyPublicationLockNoCatch<T>
, ValueLazyNoCatch<T>
, ValueLazyNoLock<T>
, ValueLazyNoLockNoCatch<T>
, ValueLazyPublicationLock<T>
, and ValueLazyPublicationLockNoCatch<T>
.Bug Fixes:
ToEnglishWords
decimal.ToString
included trailing fractional 0'sNew Features:
SLazy<T>
(a struct
alternative to Lazy<T>
)
ToString
, GetHashCode
, Equals
, and the default constructor.ArrayHelper.newFromRanges
(construct and initialize an array from System.Range
s)Changes:
System.Range.ToSpan
extension that just wraps the existing ToArray
extension and casts to Span<T>
EquateOccurences
overload that just wraps the existing IsReorderOf
T Combinations<T>(T, T[])
renamed to CombinationsCount
to not conflict with the other Combinations
overloadsEquate
overloads that deal with sequences were renamed to EquateSequence
(it was a bad idea to name it Equate
in the first place)
SetEquals
to EquateSet
to match the rest of the naming conventions (naming conventions are always up for debate)
lock
s to Meta
xml methods (should have done that a long time ago)
where TEnum : struct, Enum
added to GetLastEnumValue<TEnum>
New Features:
SortTim
(Span<T>
and TGet
+TSet
overloads)ToArray
extension methods for System.Range
Select
extension methods for System.Range
TGet
+TSet
overload for SortStooge
TGet
+TSet
overload for SortPancake
TGet
+TSet
overload for MaximiumIndex
TGet
+TSet
overload for Swap
TGet
+TSet
version of Reverse
Bug Fixes:
void SortShell<T, TCompare, TGet, TSet>(int, int, TGet, TSet, TCompare)
bug fix when start
is not 0
ToEnglishWords
("Trillionths"
was missing an "l"
)
"Trilionths"
-> "Trillionths"
"Ten-Trilionths"
-> "Ten-Trillionths"
"Hundred-Trilionths"
-> "Hundred-Trillionths"
Changes:
TGet
+TSet
sorting overloads so that TCompare
and compare
comes after TGet
+TSet
and get
+set
This was the first release after the
master
branch was renamed tomain
.
This release includes a lot of XML documentation updates. StyleCop.Analyzers was added this release.
New Features:
Tree.GetEnumerator()
Bug Fixes:
MethodInfo.GetDocumentation()
extension method bug https://github.com/ZacharyPatten/Towel/issues/52 fix https://github.com/ZacharyPatten/Towel/commit/afddb2fef8d749338608f98754a4257fdafbcb8d
Changes:
Quaternion.GetHashCode()
now uses HashCode.Combine
rather than ^
exclusive orStepperStatus StepperReverseBreak<TStep>(TStep)
added to ISortedBinaryTree<T>
UniversalQuantification
obsolete attributes changed from errors to warningsbool IsLocalFunction(this MethodInfo)
-> bool IsLocalFunction(this MethodBase)