David Hall
630261a8c4
Fixed bug in IEnumString.Enum extension method
2022-11-16 11:53:02 -07:00
dahall
0320c6b7b6
Enabled nullable support for string related classes
2022-07-20 17:33:26 -06:00
dahall
fb9787ec0a
Fixed bug in StringHelper.GetByteCount
2022-07-05 09:43:24 -06:00
dahall
dd2e46ae75
Fixed minor error handling in EnumFlagIndexer and added Intersect method.
2022-02-08 14:53:03 -07:00
dahall
0f6fb75d3d
Added StringHelper methods supporting encoders
2022-01-22 15:27:13 -07:00
dahall
747da30302
Fixed small bug in IntPtr.ToStringEnum
2022-01-16 17:21:11 -07:00
dahall
d53279dcc6
Fixed bug in IntPtr.ToStringEnum method that failed when just the ending null terminator was present.
2021-05-02 21:51:20 -06:00
dahall
483d76df37
Changed return value of OpenFileById from IntPtr to SafeHFILE
2021-03-02 07:55:51 -07:00
dahall
2165632d1d
Added InteropExtensions.SizeOf(object) method to calculate the size of an object in native memory. It will handle blittalbe structures, primitives, strings and arrays or enumerable lists of those items.
2021-01-20 16:53:12 -07:00
dahall
5cd53d5c7b
Extended IntPtr.Write(object value...) method to handle almost all cases of object types (arrays, lists, etc.)
2021-01-11 11:22:39 -07:00
dahall
5ce303ed5a
Added InteropExtensions.UnsafePtrToArray method
2020-11-11 19:57:53 -07:00
dahall
c2640876c3
Added IntPtr.AsRef extension method
2020-11-10 21:35:58 -07:00
dahall
db7884b6f5
Overloaded IntPtr.LinkedListToEnum extension method to allow for offset func.
2020-11-04 13:04:42 -07:00
dahall
dabe7bcd84
Added methods to assist with memory alignment.
2020-09-10 10:11:58 -06:00
dahall
704987c2a1
Extended all MarshalToPtr methods with lock and unlock pointer functions and optional parameters.
2020-07-19 16:45:54 -06:00
David Hall
26f61b9189
Merge pull request #142 from NN---/getiptable_raw
...
Add zero copy GetIpNetTable2.
2020-07-12 08:30:02 -06:00
NN
ca36a6bc95
Fix passing non-readonly-struct by read-only reference ( #147 )
2020-07-12 07:54:40 -06:00
NN
bc139f52a7
Add zero copy GetIpNetTable2.
2020-07-12 10:09:39 +03:00
dahall
8e981f25b6
Added IsMethodCompatibleWithDelegate method
2020-06-09 19:00:42 -06:00
dahall
589d47c3b6
Added classes to enumerate on pointer elements (NativeMemoryEnumerator and UntypedNativeMemoryEnumerator). Changed IntPtr.ToIEnum methods to use new classes and added IntPtrGetEnumerator extension methods.
2020-05-15 16:37:15 -06:00
dahall
5c726943b3
Added IntPtr.AsSpan and IntPtr.AsReadOnlySpan extension methods
2020-05-15 11:40:11 -06:00
David Hall
08273f800c
Added StringHelper.IsNullOrWhiteSpace to account for missing function prior to .NET 4. ( #86 )
2019-12-30 10:25:45 -07:00
David Hall
f74d478b28
Added support for serialization to WriteNoChecks
2019-12-10 06:55:54 -07:00
David Hall
ad3e1e06ce
Fixed EnumInheritance
2019-12-10 06:55:20 -07:00
David Hall
89d17b5241
Added ISerializable support as last option for pushing and pulling from memory pointers
2019-12-09 07:22:20 -07:00
David Hall
159f1c8235
Added EnumInheritance and InheritsFrom extension methods.
2019-12-06 17:09:08 -07:00
David Hall
2cb4245f37
Added IsMarshalable method and converted most uses of IsBlittable to it. Fixed MarshalToPtr(Array ... method to not throw casting exception.
2019-12-06 17:07:21 -07:00
David Hall
80b7256543
Changed unspecified size to uint.Max instead of UIntPtr.Max to prevent overflow
2019-11-25 19:32:51 -07:00
David Hall
a94e60820b
Reworked memory manipulation functions in InteropExtensions and IntPtrConverter to use new marshaling directives and to drive consistency of use across libs (i.e. call same method to do same work).
2019-11-19 12:52:44 -07:00
David Hall
8f289e2760
Changed to support IVanaraMarshaler requiring addition of size parameter to some methods.
2019-11-13 23:02:51 -05:00
David Hall
835487e466
Added GetOrderedFields Type extension method.
2019-10-29 10:43:18 -06:00
David Hall
05bd6d2098
Changed Write method to take structure as 'in' param.
2019-10-17 09:13:45 -06:00
David Hall
1a7aaf37f7
Fixed SetField so it works with ref structs
2019-10-07 18:42:49 -06:00
David Hall
1450d98b32
Fixed BitPosition logic for exception
2019-09-25 14:12:17 -05:00
David Hall
4322becff6
Added better documentation
2019-09-05 19:59:25 -06:00
David Hall
9d4758ed5d
Added Write methods to SafeMemoryHandleExt. Added size checking from InteropExtension methods. Added offset param to ToStructure.
2019-08-21 10:18:07 -06:00
David Hall
c3521b7742
MAJOR BREAKING CHANGEs:
...
1) Obsoleted Vanara.Extensions.InteropExtensions.StructureToPtr for a name change to MarshalToPtr for consistency.
2) Added parameter to all methods reading memory that allows developer to indicate size of allocated memory they read from.
3) Enabled the ability to read/write enum values from memory in all extension methods.
4) Added Write methods for writing to memory
2019-08-17 21:13:57 -06:00
David Hall
ee72119e36
MAJOR BREAKING CHANGE: Moved all extension methods for System.Object to Vanara.Extensions.Reflection namespace to avoid Intellisense overloads with methods that will be rarely used.
2019-08-17 14:42:49 -06:00
David Hall
d72cca74cb
Fixed documentation error
2019-07-27 12:55:59 -06:00
David Hall
277bddcf58
Removed redundant code from CheckHasValue and used IsValid
2019-07-23 13:52:32 -06:00
David Hall
5b4853db7e
Added GetStaticFieldValue method
2019-07-19 17:32:05 -06:00
David Hall
ceff4504f0
Changed to BitHelper broke too much so reverted.
2019-07-16 07:43:10 -06:00
David Hall
6eb0aa354d
Added ToInt64, TimeSpan.ToFileTimeStruct, and ToTimeSpan methods for FILETIME and modified ToString method so that it will display a TimeSpan value if negative.
2019-07-13 21:39:13 -06:00
David Hall
379e23ccb9
Added conversion methods To and ToEnum for fast conversions.
2019-07-13 16:27:46 -06:00
David Hall
1996fadd69
Made GetBit and GetBits extension methods
2019-07-10 11:27:04 -06:00
David Hall
025e6529de
Added CreateOrDefault method to get best default value for a structure. Added InvokeStaticMethod to allow for calling a static method generically.
2019-07-09 09:23:41 -06:00
David Hall
4905441377
Added pointer value in front of string with optional params to remove.
2019-07-03 14:42:51 -06:00
David Hall
7ce7b96209
* Derived SafeCoTaskMemString from base class SafeMemString derived from SafeMemHandle<T>.
...
* BREAKING CHANGE: Removed CharCapacity and made Capacity show char allocation. Size (from parent) shows byte capacity. Mimics StringBuilder.
2019-06-25 17:10:57 -06:00
David Hall
badc08c7e5
Extended StructureToPtr so that it works with `enum` values.
2019-06-17 13:44:46 -06:00
David Hall
ea5e8d6c2b
Consolidated code and fixed bug in ToFileTimeStruct that mixed up UTC conversion.
2019-06-15 13:50:10 -06:00