Allow packages for build because appveyor doesn't want to work with package restore.

This commit is contained in:
KillzXGaming 2020-05-03 17:34:47 -04:00
parent 30d807a301
commit 637266fc13
212 changed files with 144341 additions and 14 deletions

14
.gitignore vendored
View file

@ -189,20 +189,6 @@ publish/
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef

BIN
packages/AssimpNet.4.1.0/.signature.p7s vendored Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

209
packages/AssimpNet.4.1.0/ChangeLog.txt vendored Normal file
View file

@ -0,0 +1,209 @@
----------------------------------------------------------------------
CHANGELOG
----------------------------------------------------------------------
4.1.0 (10-28-2018)
- Updated to target .Net Standard 1.3 (additional .Net 3.5 and .Net 4 targets)
- Removed old IL patcher to use new MemoryInterop.ILPatcher build time dependency (allows us to build cross-platform)
- Rewrote Sample application to be a .Net Core app that uses the Veldrid low-level graphics library for rendering
- Added x64 linux native binary, x64 macOS native binary
- Tested on Ubuntu 18.04 and MacOS 10.13 (High Sierra)
- Several fixes and updates to target latest Assimp release
- Ported over "UnmanagedLibrary" abstract code and refactored AssimpLibrary
- Added "ThrowOnLoadFailure" to configure getting back a "false" if native library fails to load or throw an exception (the default). Mono should no longer
throw a "NotImplemented" exception because of trying to get the error code from windows.
- !!Breaking Change!! Native DLLs are deployed differently and resolved at runtime differently
- Removed "DefaultLibraryPathXXBit" properties from AssimpLibrary, they are meaningless now (and probably not used)
- Introduced "UnmanagedLibraryResolver" that lets you set the following to completely configure native DLL loading:
1. Multiple probing paths
2. Multiple fallback library names (e.g. versioned binaries)
3. Override name if the default native library name is not good enough for your tastes.
- Search order of the native DLL is as follows:
1. Search user-specified probing paths
2. Search {AppBaseDirectory}/runtimes/{RID}/native/
3. Search {AppBaseDirectory}/
4. Search nuget cache based on assembly name/informational version ({UserProfile}/.nuget/packages/AssimpNet/{PackageVersion}/runtimes/{RID}/native/)
5. If all above failed, return the given name of the DLL (or override name) and let the OS try and find it (different OS' may have different strategies).
- The resolver is only used in AssimpLibrary.LoadLibrary(). The other two overloads still take in a user-supplied path/to/your/DLL.
- Native DLLs are now deployed in the "runtimes" folder of the nuget package. This means they are now picked up as dependencies by netcore (*.deps.json)
and automatically get copied during the "dotnet publish" command. During development, the system will try and locate the native DLLs in the nuget cache
(.net framework 3.5/4.0 targets still use the MSBuild targets file to copy the runtime folder to the output folder). The folder structure looks like this:
- runtimes/win-x64/native/assimp.dll
- runtimes/win-x86/native/assimp.dll
- runtimes/osx-x64/native/libassimp.dylib
- runtimes/linux-x64/native/libassimp.so
- All native binaries are named "assimp" or "libassimp" depending on platform, since we're putting them in "well known" architecture folders, no need to have unique names
- [Source Only] Added a Unity script that will make it easier for users to load the native DLLs when running in Editor/Standalone Unity 3D
- Build outputs a folder called "UnityPlugin" which you can drag and drop into the Unity Editor. A package will be available in the Asset Store as well.
Targets Assimp 4.1.0
======================================================================
3.3.2 (12-26-2016)
- Fixed up nuget package build targets.
- Added donated mac library implementation (haven't personally tested)
- Removed null/empty string checks for import format hint for reading streams - if you don't supply
a hint, Assimp will automatically try to detect what format it is
- Added logging when an invalid export format ID is encountered -- be sure to use "collada" and not "dae".
- Added additional null/empty checks if adding a material property with an invalid fully qualified name.
Targets Assimp 3.1.1
======================================================================
3.3 (07-3-2014)
- Upgraded to Assimp 3.1.1 - now with FBX support!
- Added matrix property configuration type
- Added root node transformation property configuration for use with "PreTransformVertices" post process step
- Added collada "ignore up direction" property configuration
- Added various FBX importer property configurations
- Added global property configuration to disable bone visualization when a model only has animations and no geometry
- Added support for Metadata objects on nodes
- Fixed issue with marshaling mesh names, AiMesh and AiAnimMesh are now blittable. All unmanaged structs are blittable
and .NET runtime marshaling is avoided due to issues with marshaling fixed buffers in non-blittable structures.
Happy Fourth Of July!
Targets Assimp 3.1.1
======================================================================
3.2 (03-14-2013)
- Added IOSystem/IOStream support, allowing for custom IO handling. An IOSystem can be registered to an AssimpImporter,
which is used during ImportFile and ConvertFile APIs. It currently is not supported for ImportFileFromStream APIs.
- Fixed marshalling of String material property values
- Fixed aiGetTexture function signature to take in an array of 2 UV wrapmodes
Targets Assimp 3.0.1270
======================================================================
3.1 (01-01-2013)
- Added AnyCPU support, replaced AssimpMethods with AssimpLibrary that dynamically loads/unloads the unmanaged Assimp DLL
optionally, a custom file path can be specified to load the Assimp DLL. By default, the 32 or 64 bit Assimp DLL is loaded from the
same directory that the AssimpNet DLL is located in, depending on the bitness of the process.
- Added missing properties for PreState/PostState in NodeAnimationChannel
Targets Assimp 3.0.1270
======================================================================
3.0 (11-11-2012)
- Upgraded to Assimp3.0
- Added Convert API to AssimpImporter to utilize new Export functionality
- Several fixes to Matrix-Quaternion structures
Targets Assimp 3.0.1270
======================================================================
2.1.2.1 Refresh (7-27-2012)
- Added root transformations to the importer - can specify Scale, XRotation, YRotation, and ZRotation. Can use these properties to bake the
transformation by specifying the "PreTransformVertices" post process flag.
- Added missing OffsetMatrix property to Bone
Targets Assimp 2.0.854
======================================================================
2.1.2 (4-4-2012)
- Added RemoveConfigs() method to AssimpImporter
- Fixed an occassional crash when mashalling string material properties
Targets Assimp 2.0.854
======================================================================
2.1 (1-28-2012)
- Added Matrix3x3, Matrix4x4 methods.
- Fixed several bugs in Quaternion.
- Added unit tests for Matrix3x3, Matrix4x4, Quaternion.
- Added "ImportFileFromStream" AssimpMethod and equivalent methods to the AssimpImporter:
This is the implementation for "aiImportFileFromMemory".
- Added a "ReadStreamFully" method to MemoryHelper.
- Added "Importer Settings" config classes.
- Added a sample a port of Assimp's simple textured OpenGL sample using OpenTK.
Targets Assimp 2.0.854
======================================================================
2.0 (1-22-2012)
- Initial release, core API is finished.
Targets Assimp 2.0.854

70
packages/AssimpNet.4.1.0/License.txt vendored Normal file
View file

@ -0,0 +1,70 @@
Copyright (c) 2012-2018 AssimpNet - Nicholas Woodfield
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 OR OTHER DEALINGS IN
THE SOFTWARE.
====================================================================================
Open Asset Import Library (Assimp)
Copyright (c) 2006-2018, Assimp Development Team
All rights reserved.
Redistribution and use of this software in source and binary forms,
with or without modification, are permitted provided that the
following conditions are met:
* Redistributions of source code must retain the above
copyright notice, this list of conditions and the
following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other
materials provided with the distribution.
* Neither the name of the ASSIMP team, nor the names of its
contributors may be used to endorse or promote products
derived from this software without specific prior
written permission of the ASSIMP Development Team.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AN EXCEPTION applies to all files in the ./test/models-nonbsd subfolder.
These are 3d models for testing purposes, from various free sources
on the internet. They are - unless otherwise stated - copyright of
their respective creators, which may impose additional requirements
on the use of their work. For any of these models, see
<model-name>.source.txt for more legal information. Contact us if you
are a copyright holder and believe that we credited you inproperly or
if you don't want your files to appear in the repository.

View file

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Copy/clean native dependencies only for projects that don't output a *.deps.json file (netframework projects). Netcore projects will
copy out the native dependencies during publish, and during development debugging/running, the binaries will be loaded from the nuget cache.
Optionally, the property $(ForceCopyNativeAssimp) can be set to true to always run these targets. -->
<Target Name="CopyNativeAssimp" AfterTargets="AfterBuild" Condition="'$(ForceCopyNativeAssimp)' == 'true' OR !Exists('$(TargetDir)$(AssemblyName).deps.json')">
<ItemGroup>
<NativeAssimpLibs Include="$(MSBuildThisFileDirectory)..\runtimes\**\*.*"/>
</ItemGroup>
<Message Text="Copying native Assimp libraries..." Importance="high" />
<Message Text="$(TargetDir)$(AssemblyName).deps.json" Importance="high" />
<Copy SourceFiles="@(NativeAssimpLibs)" DestinationFolder="$(OutputPath)\runtimes\%(RecursiveDir)" />
</Target>
<Target Name="CleanNativeAssimp" BeforeTargets="BeforeClean" Condition="'$(ForceCopyNativeAssimp)' == 'true' OR !Exists('$(TargetDir)$(AssemblyName).deps.json')">
<Message Text="Cleaning native Assimp libraries..." Importance="high" />
<ItemGroup>
<NativeAssimpLibsToDelete Include="$(TargetDir)runtimes\**\*assimp*.*;" />
</ItemGroup>
<Delete Files="@(NativeAssimpLibsToDelete)" />
</Target>
</Project>

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,28 @@
MIT License
New DirectXTexNet
Copyright (c) 2018 Dennis Gocke
Original DirectXTexNet
Copyright (c) 2016 Simon Taylor
DirectXTex
Copyright (c) 2018 Microsoft Corp
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 OR OTHER DEALINGS IN THE
SOFTWARE.

View file

@ -0,0 +1,9 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Condition="'$(MSBuildThisFileDirectory)' != '' And HasTrailingSlash('$(MSBuildThisFileDirectory)')">
<DirectXTexNetImplFiles Include="$(MSBuildThisFileDirectory)**\*.dll" />
<None Include="@(DirectXTexNetImplFiles)">
<Link>%(RecursiveDir)%(FileName)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>

View file

@ -0,0 +1,715 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>DirectXTexNet</name>
</assembly>
<members>
<member name="F:DirectXTexNet.CP_FLAGS.NONE">
<summary>
Normal operation
</summary>
</member>
<member name="F:DirectXTexNet.CP_FLAGS.LEGACY_DWORD">
<summary>
Assume pitch is DWORD aligned instead of BYTE aligned
</summary>
</member>
<member name="F:DirectXTexNet.CP_FLAGS.PARAGRAPH">
<summary>
Assume pitch is 16-byte aligned instead of BYTE aligned
</summary>
</member>
<member name="F:DirectXTexNet.CP_FLAGS.YMM">
<summary>
Assume pitch is 32-byte aligned instead of BYTE aligned
</summary>
</member>
<member name="F:DirectXTexNet.CP_FLAGS.ZMM">
<summary>
The ZMM
</summary>
</member>
<member name="F:DirectXTexNet.CP_FLAGS.PAGE4K">
<summary>
Assume pitch is 4096-byte aligned instead of BYTE aligned
</summary>
</member>
<member name="F:DirectXTexNet.CP_FLAGS.BAD_DXTN_TAILS">
<summary>
BC formats with malformed mipchain blocks smaller than 4x4
</summary>
</member>
<member name="F:DirectXTexNet.CP_FLAGS.BPP24">
<summary>
Override with a legacy 24 bits-per-pixel format size
</summary>
</member>
<member name="F:DirectXTexNet.CP_FLAGS.BPP16">
<summary>
Override with a legacy 16 bits-per-pixel format size
</summary>
</member>
<member name="F:DirectXTexNet.CP_FLAGS.BPP8">
<summary>
Override with a legacy 8 bits-per-pixel format size
</summary>
</member>
<member name="T:DirectXTexNet.TEX_MISC_FLAG">
<summary>
Subset here matches D3D10_RESOURCE_MISC_FLAG and D3D11_RESOURCE_MISC_FLAG
</summary>
</member>
<member name="T:DirectXTexNet.TEX_ALPHA_MODE">
<summary>
Matches DDS_ALPHA_MODE, encoded in MISC_FLAGS2
</summary>
</member>
<member name="F:DirectXTexNet.DDS_FLAGS.LEGACY_DWORD">
<summary>
Assume pitch is DWORD aligned instead of BYTE aligned (used by some legacy DDS files)
</summary>
</member>
<member name="F:DirectXTexNet.DDS_FLAGS.NO_LEGACY_EXPANSION">
<summary>
Do not implicitly convert legacy formats that result in larger pixel sizes (24 bpp, 3:3:2, A8L8, A4L4, P8, A8P8)
</summary>
</member>
<member name="F:DirectXTexNet.DDS_FLAGS.NO_R10B10G10A2_FIXUP">
<summary>
Do not use work-around for long-standing D3DX DDS file format issue which reversed the 10:10:10:2 color order masks
</summary>
</member>
<member name="F:DirectXTexNet.DDS_FLAGS.FORCE_RGB">
<summary>
Convert DXGI 1.1 BGR formats to DXGI_FORMAT_R8G8B8A8_UNORM to avoid use of optional WDDM 1.1 formats
</summary>
</member>
<member name="F:DirectXTexNet.DDS_FLAGS.NO_16BPP">
<summary>
Conversions avoid use of 565, 5551, and 4444 formats and instead expand to 8888 to avoid use of optional WDDM 1.2 formats
</summary>
</member>
<member name="F:DirectXTexNet.DDS_FLAGS.EXPAND_LUMINANCE">
<summary>
When loading legacy luminance formats expand replicating the color channels rather than leaving them packed (L8, L16, A8L8)
</summary>
</member>
<member name="F:DirectXTexNet.DDS_FLAGS.BAD_DXTN_TAILS">
<summary>
Some older DXTn DDS files incorrectly handle mipchain tails for blocks smaller than 4x4
</summary>
</member>
<member name="F:DirectXTexNet.DDS_FLAGS.FORCE_DX10_EXT">
<summary>
Always use the 'DX10' header extension for DDS writer (i.e. don't try to write DX9 compatible DDS files)
</summary>
</member>
<member name="F:DirectXTexNet.DDS_FLAGS.FORCE_DX10_EXT_MISC2">
<summary>
FORCE_DX10_EXT including miscFlags2 information (result may not be compatible with D3DX10 or D3DX11)
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.FORCE_RGB">
<summary>
Loads DXGI 1.1 BGR formats as DXGI_FORMAT_R8G8B8A8_UNORM to avoid use of optional WDDM 1.1 formats
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.NO_X2_BIAS">
<summary>
Loads DXGI 1.1 X2 10:10:10:2 format as DXGI_FORMAT_R10G10B10A2_UNORM
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.NO_16BPP">
<summary>
Loads 565, 5551, and 4444 formats as 8888 to avoid use of optional WDDM 1.2 formats
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.ALLOW_MONO">
<summary>
Loads 1-bit monochrome (black and white) as R1_UNORM rather than 8-bit grayscale
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.ALL_FRAMES">
<summary>
Loads all images in a multi-frame file, converting/resizing to match the first frame as needed, defaults to 0th frame otherwise
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.IGNORE_SRGB">
<summary>
Ignores sRGB metadata if present in the file
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.DITHER">
<summary>
Use ordered 4x4 dithering for any required conversions
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.DITHER_DIFFUSION">
<summary>
Use error-diffusion dithering for any required conversions
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.FILTER_POINT">
<summary>
Filtering mode to use for any required image resizing (only needed when loading arrays of differently sized images; defaults to Fant)
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.FILTER_LINEAR">
<summary>
Filtering mode to use for any required image resizing (only needed when loading arrays of differently sized images; defaults to Fant)
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.FILTER_CUBIC">
<summary>
Filtering mode to use for any required image resizing (only needed when loading arrays of differently sized images; defaults to Fant)
</summary>
</member>
<member name="F:DirectXTexNet.WIC_FLAGS.FILTER_FANT">
<summary>
Filtering mode to use for any required image resizing (only needed when loading arrays of differently sized images; defaults to Fant)
Combination of Linear and Box filter
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.WRAP_U">
<summary>
Wrap vs. Mirror vs. Clamp filtering options
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.WRAP_V">
<summary>
Wrap vs. Mirror vs. Clamp filtering options
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.WRAP_W">
<summary>
Wrap vs. Mirror vs. Clamp filtering options
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.WRAP">
<summary>
Wrap vs. Mirror vs. Clamp filtering options
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.MIRROR_V">
<summary>
Wrap vs. Mirror vs. Clamp filtering options
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.MIRROR_W">
<summary>
Wrap vs. Mirror vs. Clamp filtering options
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.MIRROR">
<summary>
Wrap vs. Mirror vs. Clamp filtering options
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.SEPARATE_ALPHA">
<summary>
Resize color and alpha channel independently
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.FLOAT_X2BIAS">
<summary>
Enable *2 - 1 conversion cases for unorm to/from float and positive-only float formats
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.RGB_COPY_RED">
<summary>
When converting RGB to R, defaults to using grayscale. These flags indicate copying a specific channel instead
When converting RGB to RG, defaults to copying RED | GREEN. These flags control which channels are selected instead.
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.RGB_COPY_GREEN">
<summary>
When converting RGB to R, defaults to using grayscale. These flags indicate copying a specific channel instead
When converting RGB to RG, defaults to copying RED | GREEN. These flags control which channels are selected instead.
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.RGB_COPY_BLUE">
<summary>
When converting RGB to R, defaults to using grayscale. These flags indicate copying a specific channel instead
When converting RGB to RG, defaults to copying RED | GREEN. These flags control which channels are selected instead.
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.DITHER">
<summary>
Use ordered 4x4 dithering for any required conversions
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.DITHER_DIFFUSION">
<summary>
Use error-diffusion dithering for any required conversions
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.POINT">
<summary>
Filtering mode to use for any required image resizing
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.LINEAR">
<summary>
Filtering mode to use for any required image resizing
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.CUBIC">
<summary>
Filtering mode to use for any required image resizing
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.BOX">
<summary>
Filtering mode to use for any required image resizing
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.FANT">
<summary>
Filtering mode to use for any required image resizing
Equiv to Box filtering for mipmap generation
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.TRIANGLE">
<summary>
Filtering mode to use for any required image resizing
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.SRGB">
<summary>
sRGB to/from RGB for use in conversion operations
if the input format type is IsSRGB(), then SRGB_IN is on by default
if the output format type is IsSRGB(), then SRGB_OUT is on by default
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.FORCE_NON_WIC">
<summary>
Forces use of the non-WIC path when both are an option
</summary>
</member>
<member name="F:DirectXTexNet.TEX_FILTER_FLAGS.FORCE_WIC">
<summary>
Forces use of the WIC path even when logic would have picked a non-WIC path when both are an option
</summary>
</member>
<member name="F:DirectXTexNet.TEX_PMALPHA_FLAGS.IGNORE_SRGB">
<summary>
ignores sRGB colorspace conversions
</summary>
</member>
<member name="F:DirectXTexNet.TEX_PMALPHA_FLAGS.REVERSE">
<summary>
converts from premultiplied alpha back to straight alpha
</summary>
</member>
<member name="F:DirectXTexNet.TEX_PMALPHA_FLAGS.SRGB">
<summary>
if the input format type is IsSRGB(), then SRGB_IN is on by default
if the output format type is IsSRGB(), then SRGB_OUT is on by default
</summary>
</member>
<member name="F:DirectXTexNet.TEX_COMPRESS_FLAGS.RGB_DITHER">
<summary>
Enables dithering RGB colors for BC1-3 compression
</summary>
</member>
<member name="F:DirectXTexNet.TEX_COMPRESS_FLAGS.A_DITHER">
<summary>
Enables dithering alpha for BC1-3 compression
</summary>
</member>
<member name="F:DirectXTexNet.TEX_COMPRESS_FLAGS.DITHER">
<summary>
Enables both RGB and alpha dithering for BC1-3 compression
</summary>
</member>
<member name="F:DirectXTexNet.TEX_COMPRESS_FLAGS.UNIFORM">
<summary>
Uniform color weighting for BC1-3 compression; by default uses perceptual weighting
</summary>
</member>
<member name="F:DirectXTexNet.TEX_COMPRESS_FLAGS.BC7_USE_3SUBSETS">
<summary>
Enables exhaustive search for BC7 compress for mode 0 and 2; by default skips trying these modes
</summary>
</member>
<member name="F:DirectXTexNet.TEX_COMPRESS_FLAGS.BC7_QUICK">
<summary>
Minimal modes (usually mode 6) for BC7 compression
</summary>
</member>
<member name="F:DirectXTexNet.TEX_COMPRESS_FLAGS.SRGB">
<summary>
if the input format type is IsSRGB(), then SRGB_IN is on by default
if the output format type is IsSRGB(), then SRGB_OUT is on by default
</summary>
</member>
<member name="F:DirectXTexNet.TEX_COMPRESS_FLAGS.PARALLEL">
<summary>
Compress is free to use multithreading to improve performance (by default it does not use multithreading)
</summary>
</member>
<member name="F:DirectXTexNet.CNMAP_FLAGS.CHANNEL_RED">
<summary>
Channel selection when evaluting color value for height
</summary>
</member>
<member name="F:DirectXTexNet.CNMAP_FLAGS.CHANNEL_GREEN">
<summary>
Channel selection when evaluting color value for height
</summary>
</member>
<member name="F:DirectXTexNet.CNMAP_FLAGS.CHANNEL_BLUE">
<summary>
Channel selection when evaluting color value for height
</summary>
</member>
<member name="F:DirectXTexNet.CNMAP_FLAGS.CHANNEL_ALPHA">
<summary>
Channel selection when evaluting color value for height
</summary>
</member>
<member name="F:DirectXTexNet.CNMAP_FLAGS.CHANNEL_LUMINANCE">
<summary>
Channel selection when evaluting color value for height
Luminance is a combination of red, green, and blue
</summary>
</member>
<member name="F:DirectXTexNet.CNMAP_FLAGS.MIRROR_U">
<summary>
Use mirror semantics for scanline references (defaults to wrap)
</summary>
</member>
<member name="F:DirectXTexNet.CNMAP_FLAGS.MIRROR_V">
<summary>
Use mirror semantics for scanline references (defaults to wrap)
</summary>
</member>
<member name="F:DirectXTexNet.CNMAP_FLAGS.MIRROR">
<summary>
Use mirror semantics for scanline references (defaults to wrap)
</summary>
</member>
<member name="F:DirectXTexNet.CNMAP_FLAGS.INVERT_SIGN">
<summary>
Inverts normal sign
</summary>
</member>
<member name="F:DirectXTexNet.CNMAP_FLAGS.COMPUTE_OCCLUSION">
<summary>
Computes a crude occlusion term stored in the alpha channel
</summary>
</member>
<member name="F:DirectXTexNet.CMSE_FLAGS.IMAGE1_SRGB">
<summary>
Indicates that image needs gamma correction before comparision
</summary>
</member>
<member name="F:DirectXTexNet.CMSE_FLAGS.IMAGE2_SRGB">
<summary>
Indicates that image needs gamma correction before comparision
</summary>
</member>
<member name="F:DirectXTexNet.CMSE_FLAGS.IGNORE_RED">
<summary>
Ignore the channel when computing MSE
</summary>
</member>
<member name="F:DirectXTexNet.CMSE_FLAGS.IGNORE_GREEN">
<summary>
Ignore the channel when computing MSE
</summary>
</member>
<member name="F:DirectXTexNet.CMSE_FLAGS.IGNORE_BLUE">
<summary>
Ignore the channel when computing MSE
</summary>
</member>
<member name="F:DirectXTexNet.CMSE_FLAGS.IGNORE_ALPHA">
<summary>
Ignore the channel when computing MSE
</summary>
</member>
<member name="F:DirectXTexNet.CMSE_FLAGS.IMAGE1_X2_BIAS">
<summary>
Indicates that image should be scaled and biased before comparison (i.e. UNORM -> SNORM)
</summary>
</member>
<member name="F:DirectXTexNet.CMSE_FLAGS.IMAGE2_X2_BIAS">
<summary>
Indicates that image should be scaled and biased before comparison (i.e. UNORM -> SNORM)
</summary>
</member>
<member name="F:DirectXTexNet.WICCodecs.BMP">
<summary>
Windows Bitmap (.bmp)
</summary>
</member>
<member name="F:DirectXTexNet.WICCodecs.JPEG">
<summary>
Joint Photographic Experts Group (.jpg, .jpeg)
</summary>
</member>
<member name="F:DirectXTexNet.WICCodecs.PNG">
<summary>
Portable Network Graphics (.png)
</summary>
</member>
<member name="F:DirectXTexNet.WICCodecs.TIFF">
<summary>
Tagged Image File Format (.tif, .tiff)
</summary>
</member>
<member name="F:DirectXTexNet.WICCodecs.GIF">
<summary>
Graphics Interchange Format (.gif)
</summary>
</member>
<member name="F:DirectXTexNet.WICCodecs.WMP">
<summary>
Windows Media Photo / HD Photo / JPEG XR (.hdp, .jxr, .wdp)
</summary>
</member>
<member name="F:DirectXTexNet.WICCodecs.ICO">
<summary>
Windows Icon (.ico)
</summary>
</member>
<member name="T:DirectXTexNet.EvaluatePixelsDelegate">
<summary>
The delegate used for the EvaluateImage method.
</summary>
<param name="pixels">The pixels. This a row of Pixels with each pixel normally represented as RBGA in 4x32bit float (0.0-1.0).</param>
<param name="width">The width.</param>
<param name="y">The y/row index.</param>
</member>
<member name="T:DirectXTexNet.TransformPixelsDelegate">
<summary>
The delegate used for the EvaluateImage method.
</summary>
<param name="outPixels">
The out pixels to write to. This a row of Pixels with each pixel normally represented as RBGA in 4x32bit float
(0.0-1.0).
</param>
<param name="inPixels">The input pixels. This a row of Pixels with each pixel normally represented as RBGA in 4x32bit float (0.0-1.0).</param>
<param name="width">The width.</param>
<param name="y">The y/row index.</param>
</member>
<member name="T:DirectXTexNet.Image">
<summary>
This is an immutable class representing the native Image struct.
It also keeps a reference to a parent to prevent finalizing of the parent when the image is still used.
But it's still strongly encouraged to manually dispose ScratchImages.
</summary>
</member>
<member name="T:DirectXTexNet.TexMetadata">
<summary>
This class represents the native TexMetadata struct. A managed class is used to simplify passing it by reference.
</summary>
</member>
<member name="F:DirectXTexNet.TexMetadata.Height">
<summary>
The height. Should be 1 for 1D textures.
</summary>
</member>
<member name="F:DirectXTexNet.TexMetadata.Depth">
<summary>
The depth. Should be 1 for 1D or 2D textures.
</summary>
</member>
<member name="F:DirectXTexNet.TexMetadata.ArraySize">
<summary>
The array size. For cubemap, this is a multiple of 6.
</summary>
</member>
<member name="M:DirectXTexNet.ScratchImage.ComputeImageIndex(System.Int32,System.Int32,System.Int32)">
<summary>
Computes the image index for the specified values. If the image index is out of range <see cref="F:DirectXTexNet.TexHelper.IndexOutOfRange" /> is returned.
</summary>
<param name="mip">The mip.</param>
<param name="item">The item.</param>
<param name="slice">The slice.</param>
<returns>The image index. If the image index is out of range <see cref="F:DirectXTexNet.TexHelper.IndexOutOfRange" /> is returned.</returns>
</member>
<member name="M:DirectXTexNet.ScratchImage.OwnsData">
<summary>
Whether this ScratchImage owns the pixel data;
</summary>
</member>
<member name="M:DirectXTexNet.ScratchImage.GetPixels">
<summary>
Normally GetImage().pixels should be used instead, because this only returns a pointer to the pixel data if this image owns the pixel data.
</summary>
</member>
<member name="M:DirectXTexNet.ScratchImage.GetPixelsSize">
<summary>
This only returns a value if this image owns the pixel data.
</summary>
</member>
<member name="M:DirectXTexNet.ScratchImage.IsAlphaAllOpaque">
<summary>
Determines whether all pixels are opaque. This method is not supported by temporary scratch images.
</summary>
</member>
<member name="M:DirectXTexNet.ScratchImage.CreateImageCopy(System.Int32,System.Boolean,DirectXTexNet.CP_FLAGS)">
<summary>
Creates a new ScratchImage (deep copy).
</summary>
<param name="imageIndex">Index of the image to make a copy of.</param>
<param name="allow1D">if set to <c>true</c> and the height of the image is 1 a 1D Texture is created instead a 2D Texture.</param>
<param name="flags">The flags.</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.CreateArrayCopy(System.Int32,System.Int32,System.Boolean,DirectXTexNet.CP_FLAGS)">
<summary>
Creates a new Array ScratchImage (deep copy).
</summary>
<param name="startIndex">The start index.</param>
<param name="nImages">The n images.</param>
<param name="allow1D">if set to <c>true</c> and the height of the image is 1 a 1D Texture is created instead a 2D Texture.</param>
<param name="flags">The flags.</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.CreateCopyWithEmptyMipMaps(System.Int32,DirectXTexNet.DXGI_FORMAT,DirectXTexNet.CP_FLAGS,System.Boolean)">
<summary>
Creates a copy of the image but with empty mip maps (not part of original DirectXTex).
Can be used to generate the mip maps by other means (DirectXTex MipMap Generation is pretty slow).
</summary>
<param name="levels">The levels.</param>
<param name="fmt">The format.</param>
<param name="flags">The flags.</param>
<param name="zeroOutMipMaps">if set to <c>true</c> the mip map levels are zeroed out.</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.Resize(System.Int32,System.Int32,DirectXTexNet.TEX_FILTER_FLAGS)">
<summary>
Resize the image to width x height. Defaults to Fant filtering. Note for a complex resize, the result will always have mipLevels == 1.
</summary>
<param name="width">The width.</param>
<param name="height">The height.</param>
<param name="filter">The filter.</param>
<returns>The resized image.</returns>
</member>
<member name="M:DirectXTexNet.ScratchImage.ConvertToSinglePlane(System.Int32)">
<summary>
Converts the image from a planar format to an equivalent non-planar format.
</summary>
</member>
<member name="M:DirectXTexNet.ScratchImage.ConvertToSinglePlane">
<summary>
Converts the image from a planar format to an equivalent non-planar format.
</summary>
</member>
<member name="M:DirectXTexNet.ScratchImage.GenerateMipMaps(System.Int32,DirectXTexNet.TEX_FILTER_FLAGS,System.Int32,System.Boolean)">
<summary>
Generates the mip maps.
</summary>
<param name="imageIndex">Index of the image.</param>
<param name="filter">The filter. Defaults to Fant filtering which is equivalent to a box filter.</param>
<param name="levels">
Levels of '0' indicates a full mipchain, otherwise is generates that number of total levels (including the source base
image).
</param>
<param name="allow1D">if set to <c>true</c> and the height of the image is 1 a 1D Texture is created instead a 2D Texture.</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.GenerateMipMaps(DirectXTexNet.TEX_FILTER_FLAGS,System.Int32)">
<summary>
Generates the mip maps.
</summary>
<param name="filter">The filter. Defaults to Fant filtering which is equivalent to a box filter.</param>
<param name="levels">
Levels of '0' indicates a full mipchain, otherwise is generates that number of total levels (including the source base
image).
</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.GenerateMipMaps3D(System.Int32,System.Int32,DirectXTexNet.TEX_FILTER_FLAGS,System.Int32)">
<summary>
Generates the mip maps.
</summary>
<param name="startIndex">The start index.</param>
<param name="depth">The depth.</param>
<param name="filter">The filter. Defaults to Fant filtering which is equivalent to a box filter.</param>
<param name="levels">
Levels of '0' indicates a full mipchain, otherwise is generates that number of total levels (including the source base
image).
</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.GenerateMipMaps3D(DirectXTexNet.TEX_FILTER_FLAGS,System.Int32)">
<summary>
Generates the mip maps.
</summary>
<param name="filter">The filter. Defaults to Fant filtering which is equivalent to a box filter.</param>
<param name="levels">
Levels of '0' indicates a full mipchain, otherwise is generates that number of total levels (including the source base
image).
</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.PremultiplyAlpha(System.Int32,DirectXTexNet.TEX_PMALPHA_FLAGS)">
<summary>
Converts to/from a premultiplied alpha version of the texture.
</summary>
<param name="imageIndex">Index of the image.</param>
<param name="flags">The flags.</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.PremultiplyAlpha(DirectXTexNet.TEX_PMALPHA_FLAGS)">
<summary>
Converts to/from a premultiplied alpha version of the texture.
</summary>
<param name="flags">The flags.</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.Compress(System.Int32,DirectXTexNet.DXGI_FORMAT,DirectXTexNet.TEX_COMPRESS_FLAGS,System.Single)">
<summary>
Compresses the specified source image. Note that threshold is only used by BC1.
</summary>
<param name="imageIndex">Index of the image.</param>
<param name="format">The format.</param>
<param name="compress">The compress.</param>
<param name="threshold">The threshold. Default 0.5</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.Compress(System.Int32,System.IntPtr,DirectXTexNet.DXGI_FORMAT,DirectXTexNet.TEX_COMPRESS_FLAGS,System.Single)">
<summary>
DirectCompute-based compression
</summary>
<param name="imageIndex">Index of the image.</param>
<param name="pDevice">The device.</param>
<param name="format">The format.</param>
<param name="compress">The compress.</param>
<param name="alphaWeight">The alpha weight (is only used by BC7. 1.0 is the typical value to use).</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.Compress(DirectXTexNet.DXGI_FORMAT,DirectXTexNet.TEX_COMPRESS_FLAGS,System.Single)">
<summary>
Compresses the specified source image. Note that threshold is only used by BC1.
</summary>
<param name="format">The format.</param>
<param name="compress">The compress.</param>
<param name="threshold">The threshold. Default 0.5</param>
</member>
<member name="M:DirectXTexNet.ScratchImage.Compress(System.IntPtr,DirectXTexNet.DXGI_FORMAT,DirectXTexNet.TEX_COMPRESS_FLAGS,System.Single)">
<summary>
DirectCompute-based compression
</summary>
<param name="pDevice">The device.</param>
<param name="format">The format.</param>
<param name="compress">The compress.</param>
<param name="alphaWeight">The alpha weight (is only used by BC7. 1.0 is the typical value to use).</param>
</member>
<member name="M:DirectXTexNet.TexHelper.ComputeImageIndex(DirectXTexNet.TexMetadata,System.Int32,System.Int32,System.Int32)">
<summary>
Computes the image index for the specified values. If the image index is out of range <see cref="F:DirectXTexNet.TexHelper.IndexOutOfRange" /> is returned.
The ScratchImage provide a ComputeImageIndex method as well, which should be used preferrably.
</summary>
<param name="metadata">The metadata.</param>
<param name="mip">The mip.</param>
<param name="item">The item.</param>
<param name="slice">The slice.</param>
<returns>
The image index. If the image index is out of range <see cref="F:DirectXTexNet.TexHelper.IndexOutOfRange" /> is returned.
</returns>
</member>
<member name="M:DirectXTexNet.TexHelper.InitializeTemporary(DirectXTexNet.Image[],DirectXTexNet.TexMetadata,System.IDisposable[])">
<summary>
Creates a temporary image collection (Not part of the original DirectXTex). This does not copy the data. Be sure to not dispose the original ScratchImages that were combined in this
collection. Alternatively the ownership of the original ScratchImage(s) can be passed to this instance.
</summary>
<param name="images">The images.</param>
<param name="metadata">The metadata.</param>
<param name="takeOwnershipOf">Optional objects this instance should take ownership of.</param>
</member>
</members>
</doc>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

Binary file not shown.

View file

@ -0,0 +1,771 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>K4os.Compression.LZ4</name>
</assembly>
<members>
<member name="T:K4os.Compression.LZ4.Encoders.EncoderAction">
<summary>
Action performed by encoder using <c>FlushAndEncode</c> method.
</summary>
</member>
<member name="F:K4os.Compression.LZ4.Encoders.EncoderAction.None">
<summary>Nothing has happened, most likely loading 0 bytes.</summary>
</member>
<member name="F:K4os.Compression.LZ4.Encoders.EncoderAction.Loaded">
<summary>Some bytes has been loaded into encoder.</summary>
</member>
<member name="F:K4os.Compression.LZ4.Encoders.EncoderAction.Copied">
<summary>Compression was not possible so bytes has been copied.</summary>
</member>
<member name="F:K4os.Compression.LZ4.Encoders.EncoderAction.Encoded">
<summary>Compression succeeded.</summary>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.ILZ4Decoder">
<summary>
Interface of LZ4 decoder used by LZ4 streams.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.ILZ4Decoder.BlockSize">
<summary>Block size.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.ILZ4Decoder.BytesReady">
<summary>Bytes already decoded and available to be read.
Always smaller than <see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Decoder.BlockSize"/></summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.ILZ4Decoder.Decode(System.Byte*,System.Int32,System.Int32)">
<summary>
Decodes previously compressed block and caches decompressed block in decoder.
Returns number of bytes decoded. These bytes can be read with <see cref="M:K4os.Compression.LZ4.Encoders.ILZ4Decoder.Drain(System.Byte*,System.Int32,System.Int32)" />.
</summary>
<param name="source">Points to compressed block.</param>
<param name="length">Length of compressed block.</param>
<param name="blockSize">Size of the block. Value <c>0</c> indicates default block size.</param>
<returns>Number of decoded bytes.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.ILZ4Decoder.Inject(System.Byte*,System.Int32)">
<summary>
Inject already decompressed block and caches it in decoder.
Used with uncompressed-yet-chained blocks and pre-made dictionaries.
These bytes can be read with <see cref="M:K4os.Compression.LZ4.Encoders.ILZ4Decoder.Drain(System.Byte*,System.Int32,System.Int32)" />.
</summary>
<param name="source">Points to uncompressed block.</param>
<param name="length">Length of uncompressed block.</param>
<returns>Number of decoded bytes.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.ILZ4Decoder.Drain(System.Byte*,System.Int32,System.Int32)">
<summary>
Reads previously decoded bytes. Please note, <paramref name="offset"/> should be
negative number, pointing to bytes before current head.
</summary>
<param name="target">Buffer to write to.</param>
<param name="offset">Offset in source buffer relatively to current head.
Please note, it should be negative value.</param>
<param name="length">Number of bytes to read.</param>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.ILZ4Encoder">
<summary>
Interface of LZ4 encoder used by LZ4 streams.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BlockSize">
<summary>Block size.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BytesReady">
<summary>Number of bytes read for compression.
Always smaller than <see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BlockSize"/></summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.ILZ4Encoder.Topup(System.Byte*,System.Int32)">
<summary>Adds bytes to internal buffer. Increases <see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BytesReady"/></summary>
<param name="source">Source buffer.</param>
<param name="length">Source buffer length.</param>
<returns>Number of bytes topped up. If this function returns 0 it means that buffer
is full (<see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BytesReady"/> equals <see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BlockSize"/>) and
<see cref="M:K4os.Compression.LZ4.Encoders.ILZ4Encoder.Encode(System.Byte*,System.Int32,System.Boolean)"/> should be called to flush it.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.ILZ4Encoder.Encode(System.Byte*,System.Int32,System.Boolean)">
<summary>
Encodes bytes in internal buffer (see: <see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BytesReady"/>, <see cref="M:K4os.Compression.LZ4.Encoders.ILZ4Encoder.Topup(System.Byte*,System.Int32)"/>).
If <paramref name="allowCopy"/> is <c>true</c> then if encoded buffer is bigger than
source buffer source bytes are copied instead. In such case returned length is negative.
</summary>
<param name="target">Target buffer.</param>
<param name="length">Target buffer length.</param>
<param name="allowCopy">Indicates if copying is allowed.</param>
<returns>Length of encoded buffer. Negative if bytes are just copied.</returns>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder">
<summary>
LZ4 decoder used with independent blocks mode. Plase note, that it will fail
if input data has been compressed with chained blocks
(<see cref="T:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder"/> and <see cref="T:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder"/>)
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.BlockSize">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.BytesReady">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.#ctor(System.Int32)">
<summary>Creates new instance of block decoder.</summary>
<param name="blockSize">Block size. Must be equal or greater to one used for compression.</param>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.Decode(System.Byte*,System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.Inject(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.Drain(System.Byte*,System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.ReleaseUnmanaged">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder">
<summary>
Independent block encoder. Produces larger files but uses less memory and
gives better performance.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder.#ctor(K4os.Compression.LZ4.LZ4Level,System.Int32)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder"/></summary>
<param name="level">Compression level.</param>
<param name="blockSize">Block size.</param>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder.EncodeBlock(System.Byte*,System.Int32,System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder.CopyDict(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder">
<summary>LZ4 decoder handling dependent blocks.</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.#ctor(System.Int32,System.Int32)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder"/>.</summary>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.BlockSize">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.BytesReady">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.Decode(System.Byte*,System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.Inject(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.Drain(System.Byte*,System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.ReleaseUnmanaged">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4Decoder">
<summary>
Static class with factory methods to create LZ4 decoders.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4Decoder.Create(System.Boolean,System.Int32,System.Int32)">
<summary>Creates appropriate decoder for given parameters.</summary>
<param name="chaining">Dependent blocks.</param>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
<returns>LZ4 decoder.</returns>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4Encoder">
<summary>
Static class with factory method to create LZ4 encoders.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4Encoder.Create(System.Boolean,K4os.Compression.LZ4.LZ4Level,System.Int32,System.Int32)">
<summary>Creates appropriate decoder for given parameters.</summary>
<param name="chaining">Dependent blocks.</param>
<param name="level">Compression level.</param>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
<returns>LZ4 encoder.</returns>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4EncoderBase">
<summary>
Base class for LZ4 encoders. Provides basic functionality shared by
<see cref="T:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder"/>, <see cref="T:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder"/>,
and <see cref="T:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder"/> encoders. Do not used directly.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.#ctor(System.Boolean,System.Int32,System.Int32)">
<summary>Creates new instance of encoder.</summary>
<param name="chaining">Needs to be <c>true</c> if using dependent blocks.</param>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.BlockSize">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.BytesReady">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.Topup(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.Encode(System.Byte*,System.Int32,System.Boolean)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.EncodeBlock(System.Byte*,System.Int32,System.Byte*,System.Int32)">
<summary>Encodes single block using appropriate algorithm.</summary>
<param name="source">Source buffer.</param>
<param name="sourceLength">Source buffer length.</param>
<param name="target">Target buffer.</param>
<param name="targetLength">Target buffer length.</param>
<returns>Number of bytes actually written to target buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.CopyDict(System.Byte*,System.Int32)">
<summary>Copies current dictionary.</summary>
<param name="target">Target buffer.</param>
<param name="dictionaryLength">Dictionary length.</param>
<returns>Dictionary length.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.ReleaseUnmanaged">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions">
<summary>
Functionality of encoders added on top of fixed interface.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Topup(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte*@,System.Int32)">
<summary>Tops encoder up with some data.</summary>
<param name="encoder">Encoder.</param>
<param name="source">Buffer pointer, will be shifted after operation by the number of
bytes actually loaded.</param>
<param name="length">Length of buffer.</param>
<returns><c>true</c> if buffer was topped up, <c>false</c> if no bytes were loaded.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Topup(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32,System.Int32)">
<summary>Tops encoder up with some data.</summary>
<param name="encoder">Encoder.</param>
<param name="source">Buffer.</param>
<param name="offset">Buffer offset.</param>
<param name="length">Length of buffer.</param>
<returns>Number of bytes actually loaded.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Topup(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32@,System.Int32)">
<summary>Tops encoder up with some data.</summary>
<param name="encoder">Encoder.</param>
<param name="source">Buffer.</param>
<param name="offset">Buffer offset, will be increased after operation by the number
of bytes actually loaded.</param>
<param name="length">Length of buffer.</param>
<returns><c>true</c> if buffer was topped up, <c>false</c> if no bytes were loaded.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Encode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32,System.Int32,System.Boolean)">
<summary>Encodes all bytes currently stored in encoder into target buffer.</summary>
<param name="encoder">Encoder.</param>
<param name="target">Target buffer.</param>
<param name="offset">Offset in target buffer.</param>
<param name="length">Length of target buffer.</param>
<param name="allowCopy">if <c>true</c> copying bytes is allowed.</param>
<returns>Number of bytes encoder. If bytes were copied than this value is negative.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Encode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32@,System.Int32,System.Boolean)">
<summary>Encodes all bytes currently stored in encoder into target buffer.</summary>
<param name="encoder">Encoder.</param>
<param name="target">Target buffer.</param>
<param name="offset">Offset in target buffer. Will be updated after operation.</param>
<param name="length">Length of target buffer.</param>
<param name="allowCopy">if <c>true</c> copying bytes is allowed.</param>
<returns>Result of this action. Bytes can be Copied (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.Copied"/>),
Encoded (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.Encoded"/>) or nothing could have
happened (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.None"/>).</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Encode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte*@,System.Int32,System.Boolean)">
<summary>Encodes all bytes currently stored in encoder into target buffer.</summary>
<param name="encoder">Encoder.</param>
<param name="target">Target buffer. Will be updated after operation.</param>
<param name="length">Length of buffer.</param>
<param name="allowCopy">if <c>true</c> copying bytes is allowed.</param>
<returns>Result of this action. Bytes can be Copied (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.Copied"/>),
Encoded (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.Encoded"/>) or nothing could have
happened (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.None"/>).</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.TopupAndEncode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte*,System.Int32,System.Byte*,System.Int32,System.Boolean,System.Boolean,System.Int32@,System.Int32@)">
<summary>Tops encoder and encodes content.</summary>
<param name="encoder">Encoder.</param>
<param name="source">Source buffer (used to top up from).</param>
<param name="sourceLength">Source buffer length.</param>
<param name="target">Target buffer (used to encode into)</param>
<param name="targetLength">Target buffer length.</param>
<param name="forceEncode">Forces encoding even if encoder is not full.</param>
<param name="allowCopy">Allows to copy bytes if compression was not possible.</param>
<param name="loaded">Number of bytes loaded (topped up)</param>
<param name="encoded">Number if bytes encoded or copied.
Value is 0 if no encoding was done.</param>
<returns>Action performed.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.TopupAndEncode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Boolean,System.Boolean,System.Int32@,System.Int32@)">
<summary>Tops encoder and encodes content.</summary>
<param name="encoder">Encoder.</param>
<param name="source">Source buffer (used to top up from).</param>
<param name="sourceOffset">Offset within source buffer.</param>
<param name="sourceLength">Source buffer length.</param>
<param name="target">Target buffer (used to encode into)</param>
<param name="targetOffset">Offset within target buffer.</param>
<param name="targetLength">Target buffer length.</param>
<param name="forceEncode">Forces encoding even if encoder is not full.</param>
<param name="allowCopy">Allows to copy bytes if compression was not possible.</param>
<param name="loaded">Number of bytes loaded (topped up)</param>
<param name="encoded">Number if bytes encoded or copied.
Value is 0 if no encoding was done.</param>
<returns>Action performed.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.FlushAndEncode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte*,System.Int32,System.Boolean,System.Int32@)">
<summary>Encoded remaining bytes in encoder.</summary>
<param name="encoder">Encoder.</param>
<param name="target">Target buffer.</param>
<param name="targetLength">Target buffer length.</param>
<param name="allowCopy">Allows to copy bytes if compression was not possible.</param>
<param name="encoded">Number if bytes encoded or copied.
Value is 0 if no encoding was done.</param>
<returns>Action performed.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.FlushAndEncode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32,System.Int32,System.Boolean,System.Int32@)">
<summary>Encoded remaining bytes in encoder.</summary>
<param name="encoder">Encoder.</param>
<param name="target">Target buffer.</param>
<param name="targetOffset">Offset within target buffer.</param>
<param name="targetLength">Target buffer length.</param>
<param name="allowCopy">Allows to copy bytes if compression was not possible.</param>
<param name="encoded">Number if bytes encoded or copied.
Value is 0 if no encoding was done.</param>
<returns>Action performed.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Drain(K4os.Compression.LZ4.Encoders.ILZ4Decoder,System.Byte[],System.Int32,System.Int32,System.Int32)">
<summary>Drains decoder by reading all bytes which are ready.</summary>
<param name="decoder">Decoder.</param>
<param name="target">Target buffer.</param>
<param name="targetOffset">Offset within target buffer.</param>
<param name="offset">Offset in decoder relatively to decoder's head.
Please note, it should be negative value.</param>
<param name="length">Number of bytes.</param>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.DecodeAndDrain(K4os.Compression.LZ4.Encoders.ILZ4Decoder,System.Byte*,System.Int32,System.Byte*,System.Int32,System.Int32@)">
<summary>Decodes data and immediately drains it into target buffer.</summary>
<param name="decoder">Decoder.</param>
<param name="source">Source buffer (with compressed data, to be decoded).</param>
<param name="sourceLength">Source buffer length.</param>
<param name="target">Target buffer (to drained into).</param>
<param name="targetLength">Target buffer length.</param>
<param name="decoded">Number of bytes actually decoded.</param>
<returns><c>true</c> decoder was drained, <c>false</c> otherwise.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.DecodeAndDrain(K4os.Compression.LZ4.Encoders.ILZ4Decoder,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Int32@)">
<summary>Decodes data and immediately drains it into target buffer.</summary>
<param name="decoder">Decoder.</param>
<param name="source">Source buffer (with compressed data, to be decoded).</param>
<param name="sourceOffset">Offset within source buffer.</param>
<param name="sourceLength">Source buffer length.</param>
<param name="target">Target buffer (to drained into).</param>
<param name="targetOffset">Offset within target buffer.</param>
<param name="targetLength">Target buffer length.</param>
<param name="decoded">Number of bytes actually decoded.</param>
<returns><c>true</c> decoder was drained, <c>false</c> otherwise.</returns>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder">
<summary>
LZ4 encoder using dependent blocks with fast compression.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder.#ctor(System.Int32,System.Int32)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder"/></summary>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder.ReleaseUnmanaged">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder.EncodeBlock(System.Byte*,System.Int32,System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder.CopyDict(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder">
<summary>
LZ4 encoder using dependent blocks with high compression.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder.#ctor(K4os.Compression.LZ4.LZ4Level,System.Int32,System.Int32)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder"/></summary>
<param name="level">Compression level.</param>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder.ReleaseUnmanaged">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder.EncodeBlock(System.Byte*,System.Int32,System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder.CopyDict(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Internal.Mem">
<summary>Utility class with memory related functions.</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K1">
<summary>1 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K2">
<summary>2 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K4">
<summary>4 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K8">
<summary>8 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K16">
<summary>16 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K32">
<summary>32 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K64">
<summary>64 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K128">
<summary>128 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K256">
<summary>256 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K512">
<summary>512 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.M1">
<summary>1 MiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.M4">
<summary>4 MiB</summary>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.RoundUp(System.Int32,System.Int32)">
<summary>Rounds integer value up to nearest multiple of step.</summary>
<param name="value">A value.</param>
<param name="step">A step.</param>
<returns>Value rounded up.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Copy(System.Byte*,System.Byte*,System.Int32)">
<summary>
Copies memory block for <paramref name="source"/> to <paramref name="target"/>.
Even though it is called "copy" it actually behaves like "move" which
might be potential problem, although it shouldn't as I cannot think about
any situation when "copy" invalid behaviour (forward copy of overlapping blocks)
can be a desired.
</summary>
<param name="target">The target block address.</param>
<param name="source">The source block address.</param>
<param name="length">Length in bytes.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Move(System.Byte*,System.Byte*,System.Int32)">
<summary>
Copies memory block for <paramref name="source"/> to <paramref name="target"/>.
It handle "move" semantic properly handling overlapping blocks properly.
</summary>
<param name="target">The target block address.</param>
<param name="source">The source block address.</param>
<param name="length">Length in bytes.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.WildCopy(System.Byte*,System.Byte*,System.Void*)">
<summary>
Copies memory block for <paramref name="source"/> to <paramref name="target"/>
up to (around) <paramref name="limit"/>.
It does not handle overlapping blocks and may copy up to 8 bytes more than expected.
</summary>
<param name="target">The target block address.</param>
<param name="source">The source block address.</param>
<param name="limit">The limit (in target block).</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Zero(System.Byte*,System.Int32)">
<summary>Fill block of memory with zeroes.</summary>
<param name="target">Address.</param>
<param name="length">Length.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Fill(System.Byte*,System.Byte,System.Int32)">
<summary>Fills memory block with repeating pattern of a single byte.</summary>
<param name="target">Address.</param>
<param name="value">A pattern.</param>
<param name="length">Length.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.LoopCopy(System.Byte*,System.Byte*,System.Int32)">
<summary>
Copies memory block for <paramref name="source"/> to <paramref name="target"/>.
This is proper implementation of memcpy (with all weir behaviour for overlapping blocks).
It is slower than "Copy" but may be required if "Copy" causes problems.
</summary>
<param name="target">The target block address.</param>
<param name="source">The source block address.</param>
<param name="length">Length in bytes.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Copy8(System.Byte*,System.Byte*)">
<summary>Copies exactly 8 bytes from source to target.</summary>
<param name="target">Target address.</param>
<param name="source">Source address.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Copy16(System.Byte*,System.Byte*)">
<summary>Copies exactly 16 bytes from source to target.</summary>
<param name="target">Target address.</param>
<param name="source">Source address.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Copy18(System.Byte*,System.Byte*)">
<summary>Copies exactly 18 bytes from source to target.</summary>
<param name="target">Target address.</param>
<param name="source">Source address.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Alloc(System.Int32)">
<summary>Allocated block of memory. It is NOT initialized with zeroes.</summary>
<param name="size">Size in bytes.</param>
<returns>Pointer to allocated block.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.AllocZero(System.Int32)">
<summary>Allocated block of memory and fills it with zeroes.</summary>
<param name="size">Size in bytes.</param>
<returns>Pointer to allocated block.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Free(System.Void*)">
<summary>
Free memory allocated previously with <see cref="M:K4os.Compression.LZ4.Internal.Mem.Alloc(System.Int32)"/> or <see cref="M:K4os.Compression.LZ4.Internal.Mem.AllocZero(System.Int32)"/>
</summary>
<param name="ptr"></param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Peek8(System.Void*)">
<summary>Reads exactly 1 byte from given address.</summary>
<param name="p">Address.</param>
<returns>Byte at given address.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Peek16(System.Void*)">
<summary>Reads exactly 2 bytes from given address.</summary>
<param name="p">Address.</param>
<returns>2 bytes at given address.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Peek32(System.Void*)">
<summary>Reads exactly 4 bytes from given address.</summary>
<param name="p">Address.</param>
<returns>4 bytes at given address.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Peek64(System.Void*)">
<summary>Reads exactly 8 bytes from given address.</summary>
<param name="p">Address.</param>
<returns>8 bytes at given address.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Poke8(System.Void*,System.Byte)">
<summary>Writes exactly 1 byte to given address.</summary>
<param name="p">Address.</param>
<param name="v">Value.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Poke16(System.Void*,System.UInt16)">
<summary>Writes exactly 2 bytes to given address.</summary>
<param name="p">Address.</param>
<param name="v">Value.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Poke32(System.Void*,System.UInt32)">
<summary>Writes exactly 4 bytes to given address.</summary>
<param name="p">Address.</param>
<param name="v">Value.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Poke64(System.Void*,System.UInt64)">
<summary>Writes exactly 8 bytes to given address.</summary>
<param name="p">Address.</param>
<param name="v">Value.</param>
</member>
<member name="T:K4os.Compression.LZ4.Internal.UnmanagedResources">
<summary>
Skeleton for class with unmanaged resources.
Implements <see cref="T:System.IDisposable"/> but also handles proper release in
case <see cref="M:K4os.Compression.LZ4.Internal.UnmanagedResources.Dispose"/> was not called.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Internal.UnmanagedResources.IsDisposed">
<summary>Determines if object was already disposed.</summary>
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.ThrowIfDisposed">
<summary>Throws exception is object has been disposed already. Convenience method.</summary>
<exception cref="T:System.ObjectDisposedException">Thrown if object is already disposed.</exception>
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.ReleaseUnmanaged">
<summary>Method releasing unmanaged resources.</summary>
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.ReleaseManaged">
<summary>Method releasing managed resources.</summary>
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.Dispose(System.Boolean)">
<summary>
Disposed resources.
</summary>
<param name="disposing"><c>true</c> if dispose was explicitly called,
<c>false</c> if called from GC.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.Dispose">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.Finalize">
<summary>Destructor.</summary>
</member>
<member name="T:K4os.Compression.LZ4.LZ4Codec">
<summary>
Static class exposing LZ4 block compression methods.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.MaximumOutputSize(System.Int32)">
<summary>Maximum size after compression.</summary>
<param name="length">Length of input buffer.</param>
<returns>Maximum length after compression.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Encode(System.Byte*,System.Int32,System.Byte*,System.Int32,K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses data from one buffer into another.</summary>
<param name="source">Input buffer.</param>
<param name="sourceLength">Length of input buffer.</param>
<param name="target">Output buffer.</param>
<param name="targetLength">Output buffer length.</param>
<param name="level">Compression level.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Encode(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses data from one buffer into another.</summary>
<param name="source">Input buffer.</param>
<param name="target">Output buffer.</param>
<param name="level">Compression level.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Encode(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses data from one buffer into another.</summary>
<param name="source">Input buffer.</param>
<param name="sourceOffset">Input buffer offset.</param>
<param name="sourceLength">Input buffer length.</param>
<param name="target">Output buffer.</param>
<param name="targetOffset">Output buffer offset.</param>
<param name="targetLength">Output buffer length.</param>
<param name="level">Compression level.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Decode(System.Byte*,System.Int32,System.Byte*,System.Int32)">
<summary>Decompresses data from given buffer.</summary>
<param name="source">Input buffer.</param>
<param name="sourceLength">Input buffer length.</param>
<param name="target">Output buffer.</param>
<param name="targetLength">Output buffer length.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Decode(System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
<summary>Decompresses data from given buffer.</summary>
<param name="source">Input buffer.</param>
<param name="target">Output buffer.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Decode(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32)">
<summary>Decompresses data from given buffer.</summary>
<param name="source">Input buffer.</param>
<param name="sourceOffset">Input buffer offset.</param>
<param name="sourceLength">Input buffer length.</param>
<param name="target">Output buffer.</param>
<param name="targetOffset">Output buffer offset.</param>
<param name="targetLength">Output buffer length.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="T:K4os.Compression.LZ4.LZ4Level">
<summary>Compression level.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L00_FAST">
<summary>Fast compression.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L03_HC">
<summary>High compression, level 3.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L04_HC">
<summary>High compression, level 4.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L05_HC">
<summary>High compression, level 5.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L06_HC">
<summary>High compression, level 6.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L07_HC">
<summary>High compression, level 7.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L08_HC">
<summary>High compression, level 8.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L09_HC">
<summary>High compression, level 9.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L10_OPT">
<summary>Optimal compression, level 10.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L11_OPT">
<summary>Optimal compression, level 11.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L12_MAX">
<summary>Maximum compression, level 12.</summary>
</member>
<member name="T:K4os.Compression.LZ4.LZ4Pickler">
<summary>
Pickling support with LZ4 compression.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Pickle(System.Byte[],K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses input buffer into self-contained package.</summary>
<param name="source">Input buffer.</param>
<param name="level">Compression level.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Pickle(System.Byte[],System.Int32,System.Int32,K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses input buffer into self-contained package.</summary>
<param name="source">Input buffer.</param>
<param name="sourceOffset">Input buffer offset.</param>
<param name="sourceLength">Input buffer length.</param>
<param name="level">Compression level.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Pickle(System.ReadOnlySpan{System.Byte},K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses input buffer into self-contained package.</summary>
<param name="source">Input buffer.</param>
<param name="level">Compression level.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Pickle(System.Byte*,System.Int32,K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses input buffer into self-contained package.</summary>
<param name="source">Input buffer.</param>
<param name="sourceLength">Length of input data.</param>
<param name="level">Compression level.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Unpickle(System.Byte[])">
<summary>Decompresses previously pickled buffer (see: <see cref="T:K4os.Compression.LZ4.LZ4Pickler"/>.</summary>
<param name="source">Input buffer.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Unpickle(System.Byte[],System.Int32,System.Int32)">
<summary>Decompresses previously pickled buffer (see: <see cref="T:K4os.Compression.LZ4.LZ4Pickler"/>.</summary>
<param name="source">Input buffer.</param>
<param name="sourceOffset">Input buffer offset.</param>
<param name="sourceLength">Input buffer length.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Unpickle(System.ReadOnlySpan{System.Byte})">
<summary>Decompresses previously pickled buffer (see: <see cref="T:K4os.Compression.LZ4.LZ4Pickler"/>.</summary>
<param name="source">Input buffer.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Unpickle(System.Byte*,System.Int32)">
<summary>Decompresses previously pickled buffer (see: <see cref="T:K4os.Compression.LZ4.LZ4Pickler"/>.</summary>
<param name="source">Input buffer.</param>
<param name="sourceLength">Input buffer length.</param>
<returns>Output buffer.</returns>
</member>
</members>
</doc>

View file

@ -0,0 +1,771 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>K4os.Compression.LZ4</name>
</assembly>
<members>
<member name="T:K4os.Compression.LZ4.Encoders.EncoderAction">
<summary>
Action performed by encoder using <c>FlushAndEncode</c> method.
</summary>
</member>
<member name="F:K4os.Compression.LZ4.Encoders.EncoderAction.None">
<summary>Nothing has happened, most likely loading 0 bytes.</summary>
</member>
<member name="F:K4os.Compression.LZ4.Encoders.EncoderAction.Loaded">
<summary>Some bytes has been loaded into encoder.</summary>
</member>
<member name="F:K4os.Compression.LZ4.Encoders.EncoderAction.Copied">
<summary>Compression was not possible so bytes has been copied.</summary>
</member>
<member name="F:K4os.Compression.LZ4.Encoders.EncoderAction.Encoded">
<summary>Compression succeeded.</summary>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.ILZ4Decoder">
<summary>
Interface of LZ4 decoder used by LZ4 streams.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.ILZ4Decoder.BlockSize">
<summary>Block size.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.ILZ4Decoder.BytesReady">
<summary>Bytes already decoded and available to be read.
Always smaller than <see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Decoder.BlockSize"/></summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.ILZ4Decoder.Decode(System.Byte*,System.Int32,System.Int32)">
<summary>
Decodes previously compressed block and caches decompressed block in decoder.
Returns number of bytes decoded. These bytes can be read with <see cref="M:K4os.Compression.LZ4.Encoders.ILZ4Decoder.Drain(System.Byte*,System.Int32,System.Int32)" />.
</summary>
<param name="source">Points to compressed block.</param>
<param name="length">Length of compressed block.</param>
<param name="blockSize">Size of the block. Value <c>0</c> indicates default block size.</param>
<returns>Number of decoded bytes.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.ILZ4Decoder.Inject(System.Byte*,System.Int32)">
<summary>
Inject already decompressed block and caches it in decoder.
Used with uncompressed-yet-chained blocks and pre-made dictionaries.
These bytes can be read with <see cref="M:K4os.Compression.LZ4.Encoders.ILZ4Decoder.Drain(System.Byte*,System.Int32,System.Int32)" />.
</summary>
<param name="source">Points to uncompressed block.</param>
<param name="length">Length of uncompressed block.</param>
<returns>Number of decoded bytes.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.ILZ4Decoder.Drain(System.Byte*,System.Int32,System.Int32)">
<summary>
Reads previously decoded bytes. Please note, <paramref name="offset"/> should be
negative number, pointing to bytes before current head.
</summary>
<param name="target">Buffer to write to.</param>
<param name="offset">Offset in source buffer relatively to current head.
Please note, it should be negative value.</param>
<param name="length">Number of bytes to read.</param>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.ILZ4Encoder">
<summary>
Interface of LZ4 encoder used by LZ4 streams.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BlockSize">
<summary>Block size.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BytesReady">
<summary>Number of bytes read for compression.
Always smaller than <see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BlockSize"/></summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.ILZ4Encoder.Topup(System.Byte*,System.Int32)">
<summary>Adds bytes to internal buffer. Increases <see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BytesReady"/></summary>
<param name="source">Source buffer.</param>
<param name="length">Source buffer length.</param>
<returns>Number of bytes topped up. If this function returns 0 it means that buffer
is full (<see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BytesReady"/> equals <see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BlockSize"/>) and
<see cref="M:K4os.Compression.LZ4.Encoders.ILZ4Encoder.Encode(System.Byte*,System.Int32,System.Boolean)"/> should be called to flush it.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.ILZ4Encoder.Encode(System.Byte*,System.Int32,System.Boolean)">
<summary>
Encodes bytes in internal buffer (see: <see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BytesReady"/>, <see cref="M:K4os.Compression.LZ4.Encoders.ILZ4Encoder.Topup(System.Byte*,System.Int32)"/>).
If <paramref name="allowCopy"/> is <c>true</c> then if encoded buffer is bigger than
source buffer source bytes are copied instead. In such case returned length is negative.
</summary>
<param name="target">Target buffer.</param>
<param name="length">Target buffer length.</param>
<param name="allowCopy">Indicates if copying is allowed.</param>
<returns>Length of encoded buffer. Negative if bytes are just copied.</returns>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder">
<summary>
LZ4 decoder used with independent blocks mode. Plase note, that it will fail
if input data has been compressed with chained blocks
(<see cref="T:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder"/> and <see cref="T:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder"/>)
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.BlockSize">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.BytesReady">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.#ctor(System.Int32)">
<summary>Creates new instance of block decoder.</summary>
<param name="blockSize">Block size. Must be equal or greater to one used for compression.</param>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.Decode(System.Byte*,System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.Inject(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.Drain(System.Byte*,System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.ReleaseUnmanaged">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder">
<summary>
Independent block encoder. Produces larger files but uses less memory and
gives better performance.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder.#ctor(K4os.Compression.LZ4.LZ4Level,System.Int32)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder"/></summary>
<param name="level">Compression level.</param>
<param name="blockSize">Block size.</param>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder.EncodeBlock(System.Byte*,System.Int32,System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder.CopyDict(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder">
<summary>LZ4 decoder handling dependent blocks.</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.#ctor(System.Int32,System.Int32)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder"/>.</summary>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.BlockSize">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.BytesReady">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.Decode(System.Byte*,System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.Inject(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.Drain(System.Byte*,System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.ReleaseUnmanaged">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4Decoder">
<summary>
Static class with factory methods to create LZ4 decoders.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4Decoder.Create(System.Boolean,System.Int32,System.Int32)">
<summary>Creates appropriate decoder for given parameters.</summary>
<param name="chaining">Dependent blocks.</param>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
<returns>LZ4 decoder.</returns>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4Encoder">
<summary>
Static class with factory method to create LZ4 encoders.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4Encoder.Create(System.Boolean,K4os.Compression.LZ4.LZ4Level,System.Int32,System.Int32)">
<summary>Creates appropriate decoder for given parameters.</summary>
<param name="chaining">Dependent blocks.</param>
<param name="level">Compression level.</param>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
<returns>LZ4 encoder.</returns>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4EncoderBase">
<summary>
Base class for LZ4 encoders. Provides basic functionality shared by
<see cref="T:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder"/>, <see cref="T:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder"/>,
and <see cref="T:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder"/> encoders. Do not used directly.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.#ctor(System.Boolean,System.Int32,System.Int32)">
<summary>Creates new instance of encoder.</summary>
<param name="chaining">Needs to be <c>true</c> if using dependent blocks.</param>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.BlockSize">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.BytesReady">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.Topup(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.Encode(System.Byte*,System.Int32,System.Boolean)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.EncodeBlock(System.Byte*,System.Int32,System.Byte*,System.Int32)">
<summary>Encodes single block using appropriate algorithm.</summary>
<param name="source">Source buffer.</param>
<param name="sourceLength">Source buffer length.</param>
<param name="target">Target buffer.</param>
<param name="targetLength">Target buffer length.</param>
<returns>Number of bytes actually written to target buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.CopyDict(System.Byte*,System.Int32)">
<summary>Copies current dictionary.</summary>
<param name="target">Target buffer.</param>
<param name="dictionaryLength">Dictionary length.</param>
<returns>Dictionary length.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.ReleaseUnmanaged">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions">
<summary>
Functionality of encoders added on top of fixed interface.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Topup(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte*@,System.Int32)">
<summary>Tops encoder up with some data.</summary>
<param name="encoder">Encoder.</param>
<param name="source">Buffer pointer, will be shifted after operation by the number of
bytes actually loaded.</param>
<param name="length">Length of buffer.</param>
<returns><c>true</c> if buffer was topped up, <c>false</c> if no bytes were loaded.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Topup(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32,System.Int32)">
<summary>Tops encoder up with some data.</summary>
<param name="encoder">Encoder.</param>
<param name="source">Buffer.</param>
<param name="offset">Buffer offset.</param>
<param name="length">Length of buffer.</param>
<returns>Number of bytes actually loaded.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Topup(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32@,System.Int32)">
<summary>Tops encoder up with some data.</summary>
<param name="encoder">Encoder.</param>
<param name="source">Buffer.</param>
<param name="offset">Buffer offset, will be increased after operation by the number
of bytes actually loaded.</param>
<param name="length">Length of buffer.</param>
<returns><c>true</c> if buffer was topped up, <c>false</c> if no bytes were loaded.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Encode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32,System.Int32,System.Boolean)">
<summary>Encodes all bytes currently stored in encoder into target buffer.</summary>
<param name="encoder">Encoder.</param>
<param name="target">Target buffer.</param>
<param name="offset">Offset in target buffer.</param>
<param name="length">Length of target buffer.</param>
<param name="allowCopy">if <c>true</c> copying bytes is allowed.</param>
<returns>Number of bytes encoder. If bytes were copied than this value is negative.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Encode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32@,System.Int32,System.Boolean)">
<summary>Encodes all bytes currently stored in encoder into target buffer.</summary>
<param name="encoder">Encoder.</param>
<param name="target">Target buffer.</param>
<param name="offset">Offset in target buffer. Will be updated after operation.</param>
<param name="length">Length of target buffer.</param>
<param name="allowCopy">if <c>true</c> copying bytes is allowed.</param>
<returns>Result of this action. Bytes can be Copied (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.Copied"/>),
Encoded (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.Encoded"/>) or nothing could have
happened (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.None"/>).</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Encode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte*@,System.Int32,System.Boolean)">
<summary>Encodes all bytes currently stored in encoder into target buffer.</summary>
<param name="encoder">Encoder.</param>
<param name="target">Target buffer. Will be updated after operation.</param>
<param name="length">Length of buffer.</param>
<param name="allowCopy">if <c>true</c> copying bytes is allowed.</param>
<returns>Result of this action. Bytes can be Copied (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.Copied"/>),
Encoded (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.Encoded"/>) or nothing could have
happened (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.None"/>).</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.TopupAndEncode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte*,System.Int32,System.Byte*,System.Int32,System.Boolean,System.Boolean,System.Int32@,System.Int32@)">
<summary>Tops encoder and encodes content.</summary>
<param name="encoder">Encoder.</param>
<param name="source">Source buffer (used to top up from).</param>
<param name="sourceLength">Source buffer length.</param>
<param name="target">Target buffer (used to encode into)</param>
<param name="targetLength">Target buffer length.</param>
<param name="forceEncode">Forces encoding even if encoder is not full.</param>
<param name="allowCopy">Allows to copy bytes if compression was not possible.</param>
<param name="loaded">Number of bytes loaded (topped up)</param>
<param name="encoded">Number if bytes encoded or copied.
Value is 0 if no encoding was done.</param>
<returns>Action performed.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.TopupAndEncode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Boolean,System.Boolean,System.Int32@,System.Int32@)">
<summary>Tops encoder and encodes content.</summary>
<param name="encoder">Encoder.</param>
<param name="source">Source buffer (used to top up from).</param>
<param name="sourceOffset">Offset within source buffer.</param>
<param name="sourceLength">Source buffer length.</param>
<param name="target">Target buffer (used to encode into)</param>
<param name="targetOffset">Offset within target buffer.</param>
<param name="targetLength">Target buffer length.</param>
<param name="forceEncode">Forces encoding even if encoder is not full.</param>
<param name="allowCopy">Allows to copy bytes if compression was not possible.</param>
<param name="loaded">Number of bytes loaded (topped up)</param>
<param name="encoded">Number if bytes encoded or copied.
Value is 0 if no encoding was done.</param>
<returns>Action performed.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.FlushAndEncode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte*,System.Int32,System.Boolean,System.Int32@)">
<summary>Encoded remaining bytes in encoder.</summary>
<param name="encoder">Encoder.</param>
<param name="target">Target buffer.</param>
<param name="targetLength">Target buffer length.</param>
<param name="allowCopy">Allows to copy bytes if compression was not possible.</param>
<param name="encoded">Number if bytes encoded or copied.
Value is 0 if no encoding was done.</param>
<returns>Action performed.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.FlushAndEncode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32,System.Int32,System.Boolean,System.Int32@)">
<summary>Encoded remaining bytes in encoder.</summary>
<param name="encoder">Encoder.</param>
<param name="target">Target buffer.</param>
<param name="targetOffset">Offset within target buffer.</param>
<param name="targetLength">Target buffer length.</param>
<param name="allowCopy">Allows to copy bytes if compression was not possible.</param>
<param name="encoded">Number if bytes encoded or copied.
Value is 0 if no encoding was done.</param>
<returns>Action performed.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Drain(K4os.Compression.LZ4.Encoders.ILZ4Decoder,System.Byte[],System.Int32,System.Int32,System.Int32)">
<summary>Drains decoder by reading all bytes which are ready.</summary>
<param name="decoder">Decoder.</param>
<param name="target">Target buffer.</param>
<param name="targetOffset">Offset within target buffer.</param>
<param name="offset">Offset in decoder relatively to decoder's head.
Please note, it should be negative value.</param>
<param name="length">Number of bytes.</param>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.DecodeAndDrain(K4os.Compression.LZ4.Encoders.ILZ4Decoder,System.Byte*,System.Int32,System.Byte*,System.Int32,System.Int32@)">
<summary>Decodes data and immediately drains it into target buffer.</summary>
<param name="decoder">Decoder.</param>
<param name="source">Source buffer (with compressed data, to be decoded).</param>
<param name="sourceLength">Source buffer length.</param>
<param name="target">Target buffer (to drained into).</param>
<param name="targetLength">Target buffer length.</param>
<param name="decoded">Number of bytes actually decoded.</param>
<returns><c>true</c> decoder was drained, <c>false</c> otherwise.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.DecodeAndDrain(K4os.Compression.LZ4.Encoders.ILZ4Decoder,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Int32@)">
<summary>Decodes data and immediately drains it into target buffer.</summary>
<param name="decoder">Decoder.</param>
<param name="source">Source buffer (with compressed data, to be decoded).</param>
<param name="sourceOffset">Offset within source buffer.</param>
<param name="sourceLength">Source buffer length.</param>
<param name="target">Target buffer (to drained into).</param>
<param name="targetOffset">Offset within target buffer.</param>
<param name="targetLength">Target buffer length.</param>
<param name="decoded">Number of bytes actually decoded.</param>
<returns><c>true</c> decoder was drained, <c>false</c> otherwise.</returns>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder">
<summary>
LZ4 encoder using dependent blocks with fast compression.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder.#ctor(System.Int32,System.Int32)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder"/></summary>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder.ReleaseUnmanaged">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder.EncodeBlock(System.Byte*,System.Int32,System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder.CopyDict(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder">
<summary>
LZ4 encoder using dependent blocks with high compression.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder.#ctor(K4os.Compression.LZ4.LZ4Level,System.Int32,System.Int32)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder"/></summary>
<param name="level">Compression level.</param>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder.ReleaseUnmanaged">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder.EncodeBlock(System.Byte*,System.Int32,System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder.CopyDict(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Internal.Mem">
<summary>Utility class with memory related functions.</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K1">
<summary>1 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K2">
<summary>2 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K4">
<summary>4 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K8">
<summary>8 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K16">
<summary>16 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K32">
<summary>32 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K64">
<summary>64 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K128">
<summary>128 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K256">
<summary>256 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K512">
<summary>512 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.M1">
<summary>1 MiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.M4">
<summary>4 MiB</summary>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.RoundUp(System.Int32,System.Int32)">
<summary>Rounds integer value up to nearest multiple of step.</summary>
<param name="value">A value.</param>
<param name="step">A step.</param>
<returns>Value rounded up.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Copy(System.Byte*,System.Byte*,System.Int32)">
<summary>
Copies memory block for <paramref name="source"/> to <paramref name="target"/>.
Even though it is called "copy" it actually behaves like "move" which
might be potential problem, although it shouldn't as I cannot think about
any situation when "copy" invalid behaviour (forward copy of overlapping blocks)
can be a desired.
</summary>
<param name="target">The target block address.</param>
<param name="source">The source block address.</param>
<param name="length">Length in bytes.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Move(System.Byte*,System.Byte*,System.Int32)">
<summary>
Copies memory block for <paramref name="source"/> to <paramref name="target"/>.
It handle "move" semantic properly handling overlapping blocks properly.
</summary>
<param name="target">The target block address.</param>
<param name="source">The source block address.</param>
<param name="length">Length in bytes.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.WildCopy(System.Byte*,System.Byte*,System.Void*)">
<summary>
Copies memory block for <paramref name="source"/> to <paramref name="target"/>
up to (around) <paramref name="limit"/>.
It does not handle overlapping blocks and may copy up to 8 bytes more than expected.
</summary>
<param name="target">The target block address.</param>
<param name="source">The source block address.</param>
<param name="limit">The limit (in target block).</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Zero(System.Byte*,System.Int32)">
<summary>Fill block of memory with zeroes.</summary>
<param name="target">Address.</param>
<param name="length">Length.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Fill(System.Byte*,System.Byte,System.Int32)">
<summary>Fills memory block with repeating pattern of a single byte.</summary>
<param name="target">Address.</param>
<param name="value">A pattern.</param>
<param name="length">Length.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.LoopCopy(System.Byte*,System.Byte*,System.Int32)">
<summary>
Copies memory block for <paramref name="source"/> to <paramref name="target"/>.
This is proper implementation of memcpy (with all weir behaviour for overlapping blocks).
It is slower than "Copy" but may be required if "Copy" causes problems.
</summary>
<param name="target">The target block address.</param>
<param name="source">The source block address.</param>
<param name="length">Length in bytes.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Copy8(System.Byte*,System.Byte*)">
<summary>Copies exactly 8 bytes from source to target.</summary>
<param name="target">Target address.</param>
<param name="source">Source address.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Copy16(System.Byte*,System.Byte*)">
<summary>Copies exactly 16 bytes from source to target.</summary>
<param name="target">Target address.</param>
<param name="source">Source address.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Copy18(System.Byte*,System.Byte*)">
<summary>Copies exactly 18 bytes from source to target.</summary>
<param name="target">Target address.</param>
<param name="source">Source address.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Alloc(System.Int32)">
<summary>Allocated block of memory. It is NOT initialized with zeroes.</summary>
<param name="size">Size in bytes.</param>
<returns>Pointer to allocated block.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.AllocZero(System.Int32)">
<summary>Allocated block of memory and fills it with zeroes.</summary>
<param name="size">Size in bytes.</param>
<returns>Pointer to allocated block.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Free(System.Void*)">
<summary>
Free memory allocated previously with <see cref="M:K4os.Compression.LZ4.Internal.Mem.Alloc(System.Int32)"/> or <see cref="M:K4os.Compression.LZ4.Internal.Mem.AllocZero(System.Int32)"/>
</summary>
<param name="ptr"></param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Peek8(System.Void*)">
<summary>Reads exactly 1 byte from given address.</summary>
<param name="p">Address.</param>
<returns>Byte at given address.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Peek16(System.Void*)">
<summary>Reads exactly 2 bytes from given address.</summary>
<param name="p">Address.</param>
<returns>2 bytes at given address.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Peek32(System.Void*)">
<summary>Reads exactly 4 bytes from given address.</summary>
<param name="p">Address.</param>
<returns>4 bytes at given address.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Peek64(System.Void*)">
<summary>Reads exactly 8 bytes from given address.</summary>
<param name="p">Address.</param>
<returns>8 bytes at given address.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Poke8(System.Void*,System.Byte)">
<summary>Writes exactly 1 byte to given address.</summary>
<param name="p">Address.</param>
<param name="v">Value.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Poke16(System.Void*,System.UInt16)">
<summary>Writes exactly 2 bytes to given address.</summary>
<param name="p">Address.</param>
<param name="v">Value.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Poke32(System.Void*,System.UInt32)">
<summary>Writes exactly 4 bytes to given address.</summary>
<param name="p">Address.</param>
<param name="v">Value.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Poke64(System.Void*,System.UInt64)">
<summary>Writes exactly 8 bytes to given address.</summary>
<param name="p">Address.</param>
<param name="v">Value.</param>
</member>
<member name="T:K4os.Compression.LZ4.Internal.UnmanagedResources">
<summary>
Skeleton for class with unmanaged resources.
Implements <see cref="T:System.IDisposable"/> but also handles proper release in
case <see cref="M:K4os.Compression.LZ4.Internal.UnmanagedResources.Dispose"/> was not called.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Internal.UnmanagedResources.IsDisposed">
<summary>Determines if object was already disposed.</summary>
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.ThrowIfDisposed">
<summary>Throws exception is object has been disposed already. Convenience method.</summary>
<exception cref="T:System.ObjectDisposedException">Thrown if object is already disposed.</exception>
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.ReleaseUnmanaged">
<summary>Method releasing unmanaged resources.</summary>
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.ReleaseManaged">
<summary>Method releasing managed resources.</summary>
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.Dispose(System.Boolean)">
<summary>
Disposed resources.
</summary>
<param name="disposing"><c>true</c> if dispose was explicitly called,
<c>false</c> if called from GC.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.Dispose">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.Finalize">
<summary>Destructor.</summary>
</member>
<member name="T:K4os.Compression.LZ4.LZ4Codec">
<summary>
Static class exposing LZ4 block compression methods.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.MaximumOutputSize(System.Int32)">
<summary>Maximum size after compression.</summary>
<param name="length">Length of input buffer.</param>
<returns>Maximum length after compression.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Encode(System.Byte*,System.Int32,System.Byte*,System.Int32,K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses data from one buffer into another.</summary>
<param name="source">Input buffer.</param>
<param name="sourceLength">Length of input buffer.</param>
<param name="target">Output buffer.</param>
<param name="targetLength">Output buffer length.</param>
<param name="level">Compression level.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Encode(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses data from one buffer into another.</summary>
<param name="source">Input buffer.</param>
<param name="target">Output buffer.</param>
<param name="level">Compression level.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Encode(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses data from one buffer into another.</summary>
<param name="source">Input buffer.</param>
<param name="sourceOffset">Input buffer offset.</param>
<param name="sourceLength">Input buffer length.</param>
<param name="target">Output buffer.</param>
<param name="targetOffset">Output buffer offset.</param>
<param name="targetLength">Output buffer length.</param>
<param name="level">Compression level.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Decode(System.Byte*,System.Int32,System.Byte*,System.Int32)">
<summary>Decompresses data from given buffer.</summary>
<param name="source">Input buffer.</param>
<param name="sourceLength">Input buffer length.</param>
<param name="target">Output buffer.</param>
<param name="targetLength">Output buffer length.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Decode(System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
<summary>Decompresses data from given buffer.</summary>
<param name="source">Input buffer.</param>
<param name="target">Output buffer.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Decode(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32)">
<summary>Decompresses data from given buffer.</summary>
<param name="source">Input buffer.</param>
<param name="sourceOffset">Input buffer offset.</param>
<param name="sourceLength">Input buffer length.</param>
<param name="target">Output buffer.</param>
<param name="targetOffset">Output buffer offset.</param>
<param name="targetLength">Output buffer length.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="T:K4os.Compression.LZ4.LZ4Level">
<summary>Compression level.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L00_FAST">
<summary>Fast compression.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L03_HC">
<summary>High compression, level 3.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L04_HC">
<summary>High compression, level 4.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L05_HC">
<summary>High compression, level 5.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L06_HC">
<summary>High compression, level 6.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L07_HC">
<summary>High compression, level 7.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L08_HC">
<summary>High compression, level 8.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L09_HC">
<summary>High compression, level 9.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L10_OPT">
<summary>Optimal compression, level 10.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L11_OPT">
<summary>Optimal compression, level 11.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L12_MAX">
<summary>Maximum compression, level 12.</summary>
</member>
<member name="T:K4os.Compression.LZ4.LZ4Pickler">
<summary>
Pickling support with LZ4 compression.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Pickle(System.Byte[],K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses input buffer into self-contained package.</summary>
<param name="source">Input buffer.</param>
<param name="level">Compression level.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Pickle(System.Byte[],System.Int32,System.Int32,K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses input buffer into self-contained package.</summary>
<param name="source">Input buffer.</param>
<param name="sourceOffset">Input buffer offset.</param>
<param name="sourceLength">Input buffer length.</param>
<param name="level">Compression level.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Pickle(System.ReadOnlySpan{System.Byte},K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses input buffer into self-contained package.</summary>
<param name="source">Input buffer.</param>
<param name="level">Compression level.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Pickle(System.Byte*,System.Int32,K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses input buffer into self-contained package.</summary>
<param name="source">Input buffer.</param>
<param name="sourceLength">Length of input data.</param>
<param name="level">Compression level.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Unpickle(System.Byte[])">
<summary>Decompresses previously pickled buffer (see: <see cref="T:K4os.Compression.LZ4.LZ4Pickler"/>.</summary>
<param name="source">Input buffer.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Unpickle(System.Byte[],System.Int32,System.Int32)">
<summary>Decompresses previously pickled buffer (see: <see cref="T:K4os.Compression.LZ4.LZ4Pickler"/>.</summary>
<param name="source">Input buffer.</param>
<param name="sourceOffset">Input buffer offset.</param>
<param name="sourceLength">Input buffer length.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Unpickle(System.ReadOnlySpan{System.Byte})">
<summary>Decompresses previously pickled buffer (see: <see cref="T:K4os.Compression.LZ4.LZ4Pickler"/>.</summary>
<param name="source">Input buffer.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Unpickle(System.Byte*,System.Int32)">
<summary>Decompresses previously pickled buffer (see: <see cref="T:K4os.Compression.LZ4.LZ4Pickler"/>.</summary>
<param name="source">Input buffer.</param>
<param name="sourceLength">Input buffer length.</param>
<returns>Output buffer.</returns>
</member>
</members>
</doc>

View file

@ -0,0 +1,771 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>K4os.Compression.LZ4</name>
</assembly>
<members>
<member name="T:K4os.Compression.LZ4.Encoders.EncoderAction">
<summary>
Action performed by encoder using <c>FlushAndEncode</c> method.
</summary>
</member>
<member name="F:K4os.Compression.LZ4.Encoders.EncoderAction.None">
<summary>Nothing has happened, most likely loading 0 bytes.</summary>
</member>
<member name="F:K4os.Compression.LZ4.Encoders.EncoderAction.Loaded">
<summary>Some bytes has been loaded into encoder.</summary>
</member>
<member name="F:K4os.Compression.LZ4.Encoders.EncoderAction.Copied">
<summary>Compression was not possible so bytes has been copied.</summary>
</member>
<member name="F:K4os.Compression.LZ4.Encoders.EncoderAction.Encoded">
<summary>Compression succeeded.</summary>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.ILZ4Decoder">
<summary>
Interface of LZ4 decoder used by LZ4 streams.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.ILZ4Decoder.BlockSize">
<summary>Block size.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.ILZ4Decoder.BytesReady">
<summary>Bytes already decoded and available to be read.
Always smaller than <see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Decoder.BlockSize"/></summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.ILZ4Decoder.Decode(System.Byte*,System.Int32,System.Int32)">
<summary>
Decodes previously compressed block and caches decompressed block in decoder.
Returns number of bytes decoded. These bytes can be read with <see cref="M:K4os.Compression.LZ4.Encoders.ILZ4Decoder.Drain(System.Byte*,System.Int32,System.Int32)" />.
</summary>
<param name="source">Points to compressed block.</param>
<param name="length">Length of compressed block.</param>
<param name="blockSize">Size of the block. Value <c>0</c> indicates default block size.</param>
<returns>Number of decoded bytes.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.ILZ4Decoder.Inject(System.Byte*,System.Int32)">
<summary>
Inject already decompressed block and caches it in decoder.
Used with uncompressed-yet-chained blocks and pre-made dictionaries.
These bytes can be read with <see cref="M:K4os.Compression.LZ4.Encoders.ILZ4Decoder.Drain(System.Byte*,System.Int32,System.Int32)" />.
</summary>
<param name="source">Points to uncompressed block.</param>
<param name="length">Length of uncompressed block.</param>
<returns>Number of decoded bytes.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.ILZ4Decoder.Drain(System.Byte*,System.Int32,System.Int32)">
<summary>
Reads previously decoded bytes. Please note, <paramref name="offset"/> should be
negative number, pointing to bytes before current head.
</summary>
<param name="target">Buffer to write to.</param>
<param name="offset">Offset in source buffer relatively to current head.
Please note, it should be negative value.</param>
<param name="length">Number of bytes to read.</param>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.ILZ4Encoder">
<summary>
Interface of LZ4 encoder used by LZ4 streams.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BlockSize">
<summary>Block size.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BytesReady">
<summary>Number of bytes read for compression.
Always smaller than <see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BlockSize"/></summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.ILZ4Encoder.Topup(System.Byte*,System.Int32)">
<summary>Adds bytes to internal buffer. Increases <see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BytesReady"/></summary>
<param name="source">Source buffer.</param>
<param name="length">Source buffer length.</param>
<returns>Number of bytes topped up. If this function returns 0 it means that buffer
is full (<see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BytesReady"/> equals <see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BlockSize"/>) and
<see cref="M:K4os.Compression.LZ4.Encoders.ILZ4Encoder.Encode(System.Byte*,System.Int32,System.Boolean)"/> should be called to flush it.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.ILZ4Encoder.Encode(System.Byte*,System.Int32,System.Boolean)">
<summary>
Encodes bytes in internal buffer (see: <see cref="P:K4os.Compression.LZ4.Encoders.ILZ4Encoder.BytesReady"/>, <see cref="M:K4os.Compression.LZ4.Encoders.ILZ4Encoder.Topup(System.Byte*,System.Int32)"/>).
If <paramref name="allowCopy"/> is <c>true</c> then if encoded buffer is bigger than
source buffer source bytes are copied instead. In such case returned length is negative.
</summary>
<param name="target">Target buffer.</param>
<param name="length">Target buffer length.</param>
<param name="allowCopy">Indicates if copying is allowed.</param>
<returns>Length of encoded buffer. Negative if bytes are just copied.</returns>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder">
<summary>
LZ4 decoder used with independent blocks mode. Plase note, that it will fail
if input data has been compressed with chained blocks
(<see cref="T:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder"/> and <see cref="T:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder"/>)
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.BlockSize">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.BytesReady">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.#ctor(System.Int32)">
<summary>Creates new instance of block decoder.</summary>
<param name="blockSize">Block size. Must be equal or greater to one used for compression.</param>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.Decode(System.Byte*,System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.Inject(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.Drain(System.Byte*,System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockDecoder.ReleaseUnmanaged">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder">
<summary>
Independent block encoder. Produces larger files but uses less memory and
gives better performance.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder.#ctor(K4os.Compression.LZ4.LZ4Level,System.Int32)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder"/></summary>
<param name="level">Compression level.</param>
<param name="blockSize">Block size.</param>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder.EncodeBlock(System.Byte*,System.Int32,System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder.CopyDict(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder">
<summary>LZ4 decoder handling dependent blocks.</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.#ctor(System.Int32,System.Int32)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder"/>.</summary>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.BlockSize">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.BytesReady">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.Decode(System.Byte*,System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.Inject(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.Drain(System.Byte*,System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4ChainDecoder.ReleaseUnmanaged">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4Decoder">
<summary>
Static class with factory methods to create LZ4 decoders.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4Decoder.Create(System.Boolean,System.Int32,System.Int32)">
<summary>Creates appropriate decoder for given parameters.</summary>
<param name="chaining">Dependent blocks.</param>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
<returns>LZ4 decoder.</returns>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4Encoder">
<summary>
Static class with factory method to create LZ4 encoders.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4Encoder.Create(System.Boolean,K4os.Compression.LZ4.LZ4Level,System.Int32,System.Int32)">
<summary>Creates appropriate decoder for given parameters.</summary>
<param name="chaining">Dependent blocks.</param>
<param name="level">Compression level.</param>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
<returns>LZ4 encoder.</returns>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4EncoderBase">
<summary>
Base class for LZ4 encoders. Provides basic functionality shared by
<see cref="T:K4os.Compression.LZ4.Encoders.LZ4BlockEncoder"/>, <see cref="T:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder"/>,
and <see cref="T:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder"/> encoders. Do not used directly.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.#ctor(System.Boolean,System.Int32,System.Int32)">
<summary>Creates new instance of encoder.</summary>
<param name="chaining">Needs to be <c>true</c> if using dependent blocks.</param>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.BlockSize">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.BytesReady">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.Topup(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.Encode(System.Byte*,System.Int32,System.Boolean)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.EncodeBlock(System.Byte*,System.Int32,System.Byte*,System.Int32)">
<summary>Encodes single block using appropriate algorithm.</summary>
<param name="source">Source buffer.</param>
<param name="sourceLength">Source buffer length.</param>
<param name="target">Target buffer.</param>
<param name="targetLength">Target buffer length.</param>
<returns>Number of bytes actually written to target buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.CopyDict(System.Byte*,System.Int32)">
<summary>Copies current dictionary.</summary>
<param name="target">Target buffer.</param>
<param name="dictionaryLength">Dictionary length.</param>
<returns>Dictionary length.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderBase.ReleaseUnmanaged">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions">
<summary>
Functionality of encoders added on top of fixed interface.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Topup(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte*@,System.Int32)">
<summary>Tops encoder up with some data.</summary>
<param name="encoder">Encoder.</param>
<param name="source">Buffer pointer, will be shifted after operation by the number of
bytes actually loaded.</param>
<param name="length">Length of buffer.</param>
<returns><c>true</c> if buffer was topped up, <c>false</c> if no bytes were loaded.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Topup(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32,System.Int32)">
<summary>Tops encoder up with some data.</summary>
<param name="encoder">Encoder.</param>
<param name="source">Buffer.</param>
<param name="offset">Buffer offset.</param>
<param name="length">Length of buffer.</param>
<returns>Number of bytes actually loaded.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Topup(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32@,System.Int32)">
<summary>Tops encoder up with some data.</summary>
<param name="encoder">Encoder.</param>
<param name="source">Buffer.</param>
<param name="offset">Buffer offset, will be increased after operation by the number
of bytes actually loaded.</param>
<param name="length">Length of buffer.</param>
<returns><c>true</c> if buffer was topped up, <c>false</c> if no bytes were loaded.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Encode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32,System.Int32,System.Boolean)">
<summary>Encodes all bytes currently stored in encoder into target buffer.</summary>
<param name="encoder">Encoder.</param>
<param name="target">Target buffer.</param>
<param name="offset">Offset in target buffer.</param>
<param name="length">Length of target buffer.</param>
<param name="allowCopy">if <c>true</c> copying bytes is allowed.</param>
<returns>Number of bytes encoder. If bytes were copied than this value is negative.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Encode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32@,System.Int32,System.Boolean)">
<summary>Encodes all bytes currently stored in encoder into target buffer.</summary>
<param name="encoder">Encoder.</param>
<param name="target">Target buffer.</param>
<param name="offset">Offset in target buffer. Will be updated after operation.</param>
<param name="length">Length of target buffer.</param>
<param name="allowCopy">if <c>true</c> copying bytes is allowed.</param>
<returns>Result of this action. Bytes can be Copied (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.Copied"/>),
Encoded (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.Encoded"/>) or nothing could have
happened (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.None"/>).</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Encode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte*@,System.Int32,System.Boolean)">
<summary>Encodes all bytes currently stored in encoder into target buffer.</summary>
<param name="encoder">Encoder.</param>
<param name="target">Target buffer. Will be updated after operation.</param>
<param name="length">Length of buffer.</param>
<param name="allowCopy">if <c>true</c> copying bytes is allowed.</param>
<returns>Result of this action. Bytes can be Copied (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.Copied"/>),
Encoded (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.Encoded"/>) or nothing could have
happened (<see cref="F:K4os.Compression.LZ4.Encoders.EncoderAction.None"/>).</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.TopupAndEncode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte*,System.Int32,System.Byte*,System.Int32,System.Boolean,System.Boolean,System.Int32@,System.Int32@)">
<summary>Tops encoder and encodes content.</summary>
<param name="encoder">Encoder.</param>
<param name="source">Source buffer (used to top up from).</param>
<param name="sourceLength">Source buffer length.</param>
<param name="target">Target buffer (used to encode into)</param>
<param name="targetLength">Target buffer length.</param>
<param name="forceEncode">Forces encoding even if encoder is not full.</param>
<param name="allowCopy">Allows to copy bytes if compression was not possible.</param>
<param name="loaded">Number of bytes loaded (topped up)</param>
<param name="encoded">Number if bytes encoded or copied.
Value is 0 if no encoding was done.</param>
<returns>Action performed.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.TopupAndEncode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Boolean,System.Boolean,System.Int32@,System.Int32@)">
<summary>Tops encoder and encodes content.</summary>
<param name="encoder">Encoder.</param>
<param name="source">Source buffer (used to top up from).</param>
<param name="sourceOffset">Offset within source buffer.</param>
<param name="sourceLength">Source buffer length.</param>
<param name="target">Target buffer (used to encode into)</param>
<param name="targetOffset">Offset within target buffer.</param>
<param name="targetLength">Target buffer length.</param>
<param name="forceEncode">Forces encoding even if encoder is not full.</param>
<param name="allowCopy">Allows to copy bytes if compression was not possible.</param>
<param name="loaded">Number of bytes loaded (topped up)</param>
<param name="encoded">Number if bytes encoded or copied.
Value is 0 if no encoding was done.</param>
<returns>Action performed.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.FlushAndEncode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte*,System.Int32,System.Boolean,System.Int32@)">
<summary>Encoded remaining bytes in encoder.</summary>
<param name="encoder">Encoder.</param>
<param name="target">Target buffer.</param>
<param name="targetLength">Target buffer length.</param>
<param name="allowCopy">Allows to copy bytes if compression was not possible.</param>
<param name="encoded">Number if bytes encoded or copied.
Value is 0 if no encoding was done.</param>
<returns>Action performed.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.FlushAndEncode(K4os.Compression.LZ4.Encoders.ILZ4Encoder,System.Byte[],System.Int32,System.Int32,System.Boolean,System.Int32@)">
<summary>Encoded remaining bytes in encoder.</summary>
<param name="encoder">Encoder.</param>
<param name="target">Target buffer.</param>
<param name="targetOffset">Offset within target buffer.</param>
<param name="targetLength">Target buffer length.</param>
<param name="allowCopy">Allows to copy bytes if compression was not possible.</param>
<param name="encoded">Number if bytes encoded or copied.
Value is 0 if no encoding was done.</param>
<returns>Action performed.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.Drain(K4os.Compression.LZ4.Encoders.ILZ4Decoder,System.Byte[],System.Int32,System.Int32,System.Int32)">
<summary>Drains decoder by reading all bytes which are ready.</summary>
<param name="decoder">Decoder.</param>
<param name="target">Target buffer.</param>
<param name="targetOffset">Offset within target buffer.</param>
<param name="offset">Offset in decoder relatively to decoder's head.
Please note, it should be negative value.</param>
<param name="length">Number of bytes.</param>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.DecodeAndDrain(K4os.Compression.LZ4.Encoders.ILZ4Decoder,System.Byte*,System.Int32,System.Byte*,System.Int32,System.Int32@)">
<summary>Decodes data and immediately drains it into target buffer.</summary>
<param name="decoder">Decoder.</param>
<param name="source">Source buffer (with compressed data, to be decoded).</param>
<param name="sourceLength">Source buffer length.</param>
<param name="target">Target buffer (to drained into).</param>
<param name="targetLength">Target buffer length.</param>
<param name="decoded">Number of bytes actually decoded.</param>
<returns><c>true</c> decoder was drained, <c>false</c> otherwise.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4EncoderExtensions.DecodeAndDrain(K4os.Compression.LZ4.Encoders.ILZ4Decoder,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Int32@)">
<summary>Decodes data and immediately drains it into target buffer.</summary>
<param name="decoder">Decoder.</param>
<param name="source">Source buffer (with compressed data, to be decoded).</param>
<param name="sourceOffset">Offset within source buffer.</param>
<param name="sourceLength">Source buffer length.</param>
<param name="target">Target buffer (to drained into).</param>
<param name="targetOffset">Offset within target buffer.</param>
<param name="targetLength">Target buffer length.</param>
<param name="decoded">Number of bytes actually decoded.</param>
<returns><c>true</c> decoder was drained, <c>false</c> otherwise.</returns>
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder">
<summary>
LZ4 encoder using dependent blocks with fast compression.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder.#ctor(System.Int32,System.Int32)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder"/></summary>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder.ReleaseUnmanaged">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder.EncodeBlock(System.Byte*,System.Int32,System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4FastChainEncoder.CopyDict(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder">
<summary>
LZ4 encoder using dependent blocks with high compression.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder.#ctor(K4os.Compression.LZ4.LZ4Level,System.Int32,System.Int32)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder"/></summary>
<param name="level">Compression level.</param>
<param name="blockSize">Block size.</param>
<param name="extraBlocks">Number of extra blocks.</param>
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder.ReleaseUnmanaged">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder.EncodeBlock(System.Byte*,System.Int32,System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Encoders.LZ4HighChainEncoder.CopyDict(System.Byte*,System.Int32)">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Internal.Mem">
<summary>Utility class with memory related functions.</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K1">
<summary>1 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K2">
<summary>2 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K4">
<summary>4 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K8">
<summary>8 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K16">
<summary>16 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K32">
<summary>32 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K64">
<summary>64 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K128">
<summary>128 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K256">
<summary>256 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.K512">
<summary>512 KiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.M1">
<summary>1 MiB</summary>
</member>
<member name="F:K4os.Compression.LZ4.Internal.Mem.M4">
<summary>4 MiB</summary>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.RoundUp(System.Int32,System.Int32)">
<summary>Rounds integer value up to nearest multiple of step.</summary>
<param name="value">A value.</param>
<param name="step">A step.</param>
<returns>Value rounded up.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Copy(System.Byte*,System.Byte*,System.Int32)">
<summary>
Copies memory block for <paramref name="source"/> to <paramref name="target"/>.
Even though it is called "copy" it actually behaves like "move" which
might be potential problem, although it shouldn't as I cannot think about
any situation when "copy" invalid behaviour (forward copy of overlapping blocks)
can be a desired.
</summary>
<param name="target">The target block address.</param>
<param name="source">The source block address.</param>
<param name="length">Length in bytes.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Move(System.Byte*,System.Byte*,System.Int32)">
<summary>
Copies memory block for <paramref name="source"/> to <paramref name="target"/>.
It handle "move" semantic properly handling overlapping blocks properly.
</summary>
<param name="target">The target block address.</param>
<param name="source">The source block address.</param>
<param name="length">Length in bytes.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.WildCopy(System.Byte*,System.Byte*,System.Void*)">
<summary>
Copies memory block for <paramref name="source"/> to <paramref name="target"/>
up to (around) <paramref name="limit"/>.
It does not handle overlapping blocks and may copy up to 8 bytes more than expected.
</summary>
<param name="target">The target block address.</param>
<param name="source">The source block address.</param>
<param name="limit">The limit (in target block).</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Zero(System.Byte*,System.Int32)">
<summary>Fill block of memory with zeroes.</summary>
<param name="target">Address.</param>
<param name="length">Length.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Fill(System.Byte*,System.Byte,System.Int32)">
<summary>Fills memory block with repeating pattern of a single byte.</summary>
<param name="target">Address.</param>
<param name="value">A pattern.</param>
<param name="length">Length.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.LoopCopy(System.Byte*,System.Byte*,System.Int32)">
<summary>
Copies memory block for <paramref name="source"/> to <paramref name="target"/>.
This is proper implementation of memcpy (with all weir behaviour for overlapping blocks).
It is slower than "Copy" but may be required if "Copy" causes problems.
</summary>
<param name="target">The target block address.</param>
<param name="source">The source block address.</param>
<param name="length">Length in bytes.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Copy8(System.Byte*,System.Byte*)">
<summary>Copies exactly 8 bytes from source to target.</summary>
<param name="target">Target address.</param>
<param name="source">Source address.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Copy16(System.Byte*,System.Byte*)">
<summary>Copies exactly 16 bytes from source to target.</summary>
<param name="target">Target address.</param>
<param name="source">Source address.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Copy18(System.Byte*,System.Byte*)">
<summary>Copies exactly 18 bytes from source to target.</summary>
<param name="target">Target address.</param>
<param name="source">Source address.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Alloc(System.Int32)">
<summary>Allocated block of memory. It is NOT initialized with zeroes.</summary>
<param name="size">Size in bytes.</param>
<returns>Pointer to allocated block.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.AllocZero(System.Int32)">
<summary>Allocated block of memory and fills it with zeroes.</summary>
<param name="size">Size in bytes.</param>
<returns>Pointer to allocated block.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Free(System.Void*)">
<summary>
Free memory allocated previously with <see cref="M:K4os.Compression.LZ4.Internal.Mem.Alloc(System.Int32)"/> or <see cref="M:K4os.Compression.LZ4.Internal.Mem.AllocZero(System.Int32)"/>
</summary>
<param name="ptr"></param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Peek8(System.Void*)">
<summary>Reads exactly 1 byte from given address.</summary>
<param name="p">Address.</param>
<returns>Byte at given address.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Peek16(System.Void*)">
<summary>Reads exactly 2 bytes from given address.</summary>
<param name="p">Address.</param>
<returns>2 bytes at given address.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Peek32(System.Void*)">
<summary>Reads exactly 4 bytes from given address.</summary>
<param name="p">Address.</param>
<returns>4 bytes at given address.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Peek64(System.Void*)">
<summary>Reads exactly 8 bytes from given address.</summary>
<param name="p">Address.</param>
<returns>8 bytes at given address.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Poke8(System.Void*,System.Byte)">
<summary>Writes exactly 1 byte to given address.</summary>
<param name="p">Address.</param>
<param name="v">Value.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Poke16(System.Void*,System.UInt16)">
<summary>Writes exactly 2 bytes to given address.</summary>
<param name="p">Address.</param>
<param name="v">Value.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Poke32(System.Void*,System.UInt32)">
<summary>Writes exactly 4 bytes to given address.</summary>
<param name="p">Address.</param>
<param name="v">Value.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.Mem.Poke64(System.Void*,System.UInt64)">
<summary>Writes exactly 8 bytes to given address.</summary>
<param name="p">Address.</param>
<param name="v">Value.</param>
</member>
<member name="T:K4os.Compression.LZ4.Internal.UnmanagedResources">
<summary>
Skeleton for class with unmanaged resources.
Implements <see cref="T:System.IDisposable"/> but also handles proper release in
case <see cref="M:K4os.Compression.LZ4.Internal.UnmanagedResources.Dispose"/> was not called.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Internal.UnmanagedResources.IsDisposed">
<summary>Determines if object was already disposed.</summary>
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.ThrowIfDisposed">
<summary>Throws exception is object has been disposed already. Convenience method.</summary>
<exception cref="T:System.ObjectDisposedException">Thrown if object is already disposed.</exception>
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.ReleaseUnmanaged">
<summary>Method releasing unmanaged resources.</summary>
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.ReleaseManaged">
<summary>Method releasing managed resources.</summary>
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.Dispose(System.Boolean)">
<summary>
Disposed resources.
</summary>
<param name="disposing"><c>true</c> if dispose was explicitly called,
<c>false</c> if called from GC.</param>
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.Dispose">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Internal.UnmanagedResources.Finalize">
<summary>Destructor.</summary>
</member>
<member name="T:K4os.Compression.LZ4.LZ4Codec">
<summary>
Static class exposing LZ4 block compression methods.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.MaximumOutputSize(System.Int32)">
<summary>Maximum size after compression.</summary>
<param name="length">Length of input buffer.</param>
<returns>Maximum length after compression.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Encode(System.Byte*,System.Int32,System.Byte*,System.Int32,K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses data from one buffer into another.</summary>
<param name="source">Input buffer.</param>
<param name="sourceLength">Length of input buffer.</param>
<param name="target">Output buffer.</param>
<param name="targetLength">Output buffer length.</param>
<param name="level">Compression level.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Encode(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses data from one buffer into another.</summary>
<param name="source">Input buffer.</param>
<param name="target">Output buffer.</param>
<param name="level">Compression level.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Encode(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses data from one buffer into another.</summary>
<param name="source">Input buffer.</param>
<param name="sourceOffset">Input buffer offset.</param>
<param name="sourceLength">Input buffer length.</param>
<param name="target">Output buffer.</param>
<param name="targetOffset">Output buffer offset.</param>
<param name="targetLength">Output buffer length.</param>
<param name="level">Compression level.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Decode(System.Byte*,System.Int32,System.Byte*,System.Int32)">
<summary>Decompresses data from given buffer.</summary>
<param name="source">Input buffer.</param>
<param name="sourceLength">Input buffer length.</param>
<param name="target">Output buffer.</param>
<param name="targetLength">Output buffer length.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Decode(System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
<summary>Decompresses data from given buffer.</summary>
<param name="source">Input buffer.</param>
<param name="target">Output buffer.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Codec.Decode(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32)">
<summary>Decompresses data from given buffer.</summary>
<param name="source">Input buffer.</param>
<param name="sourceOffset">Input buffer offset.</param>
<param name="sourceLength">Input buffer length.</param>
<param name="target">Output buffer.</param>
<param name="targetOffset">Output buffer offset.</param>
<param name="targetLength">Output buffer length.</param>
<returns>Number of bytes written, or negative value if output buffer is too small.</returns>
</member>
<member name="T:K4os.Compression.LZ4.LZ4Level">
<summary>Compression level.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L00_FAST">
<summary>Fast compression.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L03_HC">
<summary>High compression, level 3.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L04_HC">
<summary>High compression, level 4.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L05_HC">
<summary>High compression, level 5.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L06_HC">
<summary>High compression, level 6.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L07_HC">
<summary>High compression, level 7.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L08_HC">
<summary>High compression, level 8.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L09_HC">
<summary>High compression, level 9.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L10_OPT">
<summary>Optimal compression, level 10.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L11_OPT">
<summary>Optimal compression, level 11.</summary>
</member>
<member name="F:K4os.Compression.LZ4.LZ4Level.L12_MAX">
<summary>Maximum compression, level 12.</summary>
</member>
<member name="T:K4os.Compression.LZ4.LZ4Pickler">
<summary>
Pickling support with LZ4 compression.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Pickle(System.Byte[],K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses input buffer into self-contained package.</summary>
<param name="source">Input buffer.</param>
<param name="level">Compression level.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Pickle(System.Byte[],System.Int32,System.Int32,K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses input buffer into self-contained package.</summary>
<param name="source">Input buffer.</param>
<param name="sourceOffset">Input buffer offset.</param>
<param name="sourceLength">Input buffer length.</param>
<param name="level">Compression level.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Pickle(System.ReadOnlySpan{System.Byte},K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses input buffer into self-contained package.</summary>
<param name="source">Input buffer.</param>
<param name="level">Compression level.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Pickle(System.Byte*,System.Int32,K4os.Compression.LZ4.LZ4Level)">
<summary>Compresses input buffer into self-contained package.</summary>
<param name="source">Input buffer.</param>
<param name="sourceLength">Length of input data.</param>
<param name="level">Compression level.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Unpickle(System.Byte[])">
<summary>Decompresses previously pickled buffer (see: <see cref="T:K4os.Compression.LZ4.LZ4Pickler"/>.</summary>
<param name="source">Input buffer.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Unpickle(System.Byte[],System.Int32,System.Int32)">
<summary>Decompresses previously pickled buffer (see: <see cref="T:K4os.Compression.LZ4.LZ4Pickler"/>.</summary>
<param name="source">Input buffer.</param>
<param name="sourceOffset">Input buffer offset.</param>
<param name="sourceLength">Input buffer length.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Unpickle(System.ReadOnlySpan{System.Byte})">
<summary>Decompresses previously pickled buffer (see: <see cref="T:K4os.Compression.LZ4.LZ4Pickler"/>.</summary>
<param name="source">Input buffer.</param>
<returns>Output buffer.</returns>
</member>
<member name="M:K4os.Compression.LZ4.LZ4Pickler.Unpickle(System.Byte*,System.Int32)">
<summary>Decompresses previously pickled buffer (see: <see cref="T:K4os.Compression.LZ4.LZ4Pickler"/>.</summary>
<param name="source">Input buffer.</param>
<param name="sourceLength">Input buffer length.</param>
<returns>Output buffer.</returns>
</member>
</members>
</doc>

Binary file not shown.

View file

@ -0,0 +1,296 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>K4os.Compression.LZ4.Streams</name>
</assembly>
<members>
<member name="T:K4os.Compression.LZ4.Streams.ILZ4Descriptor">
<summary>
LZ4 Frame descriptor.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.ContentLength">
<summary>Content length. Not always known.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.ContentChecksum">
<summary>Indicates if content checksum is provided.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.Chaining">
<summary>Indicates if blocks are chained (dependent) or not (independent).</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.BlockChecksum">
<summary>Indicates if block checksums are provided.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.Dictionary">
<summary>Dictionary id. May be null.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.BlockSize">
<summary>Block size.</summary>
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4DecoderSettings">
<summary>
Decoder settings.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderSettings.ExtraMemory">
<summary>Extra memory for decompression.</summary>
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4DecoderStream">
<summary>
LZ4 Decompression stream handling.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.#ctor(System.IO.Stream,System.Func{K4os.Compression.LZ4.Streams.ILZ4Descriptor,K4os.Compression.LZ4.Encoders.ILZ4Decoder},System.Boolean)">
<summary>Creates new instance <see cref="T:K4os.Compression.LZ4.Streams.LZ4DecoderStream"/>.</summary>
<param name="inner">Inner stream.</param>
<param name="decoderFactory">A function which will create appropriate decoder depending
on frame descriptor.</param>
<param name="leaveOpen">If <c>true</c> inner stream will not be closed after disposing.</param>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Flush">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.FlushAsync(System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Read(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.ReadByte">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Dispose">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.CanRead">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.CanSeek">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.CanWrite">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Length">
<summary>
Length of stream. Please note, this will only work if original LZ4 stream has
<c>ContentLength</c> field set in descriptor. Otherwise returned value will be <c>-1</c>.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Position">
<summary>
Position within the stream. Position can be read, but cannot be set as LZ4 stream does
not have <c>Seek</c> capability.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.CanTimeout">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.WriteTimeout">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.ReadTimeout">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Seek(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.SetLength(System.Int64)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Write(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.WriteByte(System.Byte)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4EncoderSettings">
<summary>
LZ4 encoder settings.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.ContentLength">
<summary>
Content length. It is not enforced, it can be set to any value, but it will be
written to the stream so it can be used while decoding. If you don't know the length
just leave default value.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.ChainBlocks">
<summary>
Indicates if blocks should be chained (dependent) or not (independent). Dependent blocks
(with chaining) provide better compression ratio but are a little but slower and take
more memory.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.BlockSize">
<summary>
Block size. You can use any block size, but default values for LZ4 are 64k, 256k, 1m,
and 4m. 64k is good enough for dependent blocks, but for independent blocks bigger is
better.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.ContentChecksum">
<summary>Indicates is content checksum is provided. Not implemented yet.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.BlockChecksum">
<summary>Indicates if block checksum is provided. Not implemented yet.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.Dictionary">
<summary>Dictionary id. Not implemented yet.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.CompressionLevel">
<summary>Compression level.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.ExtraMemory">
<summary>Extra memory (for the process, more is usually better).</summary>
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4EncoderStream">
<summary>
LZ4 compression stream.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.#ctor(System.IO.Stream,K4os.Compression.LZ4.Streams.ILZ4Descriptor,System.Func{K4os.Compression.LZ4.Streams.ILZ4Descriptor,K4os.Compression.LZ4.Encoders.ILZ4Encoder},System.Boolean)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Streams.LZ4EncoderStream"/>.</summary>
<param name="inner">Inner stream.</param>
<param name="descriptor">LZ4 Descriptor.</param>
<param name="encoderFactory">Function which will take descriptor and return
appropriate encoder.</param>
<param name="leaveOpen">Indicates if <paramref name="inner"/> stream should be left
open after disposing.</param>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Flush">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.FlushAsync(System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Close">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.WriteByte(System.Byte)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Write(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Dispose">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.CanRead">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.CanSeek">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.CanWrite">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Length">
<summary>Length of the stream and number of bytes written so far.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Position">
<summary>Read-only position in the stream. Trying to set it will throw
<see cref="T:System.InvalidOperationException"/>.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.CanTimeout">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.ReadTimeout">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.WriteTimeout">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Seek(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.SetLength(System.Int64)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Read(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.ReadByte">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4Descriptor">
<summary>
LZ4 frame descriptor.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.ContentLength">
<summary>Content length (if available).</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.ContentChecksum">
<summary>Indicates if content checksum if present.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.Chaining">
<summary>Indicates if blocks are chained.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.BlockChecksum">
<summary>Indicates if block checksums are present.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.Dictionary">
<summary>Dictionary id (or null).</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.BlockSize">
<summary>Block size.</summary>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4Descriptor.#ctor(System.Nullable{System.Int64},System.Boolean,System.Boolean,System.Boolean,System.Nullable{System.UInt32},System.Int32)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Streams.LZ4Descriptor"/>.</summary>
<param name="contentLength">Content length.</param>
<param name="contentChecksum">Content checksum flag.</param>
<param name="chaining">Chaining flag.</param>
<param name="blockChecksum">Block checksum flag.</param>
<param name="dictionary">Dictionary id.</param>
<param name="blockSize">Block size.</param>
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4Stream">
<summary>
Utility class with factory methods to create LZ4 compression and decompression streams.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4Stream.Encode(System.IO.Stream,K4os.Compression.LZ4.Streams.LZ4EncoderSettings,System.Boolean)">
<summary>Created compression stream on top of inner stream.</summary>
<param name="stream">Inner stream.</param>
<param name="settings">Compression settings.</param>
<param name="leaveOpen">Leave inner stream open after disposing.</param>
<returns>Compression stream.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4Stream.Encode(System.IO.Stream,K4os.Compression.LZ4.LZ4Level,System.Int32,System.Boolean)">
<summary>Created compression stream on top of inner stream.</summary>
<param name="stream">Inner stream.</param>
<param name="level">Compression level.</param>
<param name="extraMemory">Extra memory used for compression.</param>
<param name="leaveOpen">Leave inner stream open after disposing.</param>
<returns>Compression stream.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4Stream.Decode(System.IO.Stream,K4os.Compression.LZ4.Streams.LZ4DecoderSettings,System.Boolean)">
<summary>Creates decompression stream on top of inner stream.</summary>
<param name="stream">Inner stream.</param>
<param name="settings">Decompression settings.</param>
<param name="leaveOpen">Leave inner stream open after disposing.</param>
<returns>Decompression stream.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4Stream.Decode(System.IO.Stream,System.Int32,System.Boolean)">
<summary>Creates decompression stream on top of inner stream.</summary>
<param name="stream">Inner stream.</param>
<param name="extraMemory">Extra memory used for decompression.</param>
<param name="leaveOpen">Leave inner stream open after disposing.</param>
<returns>Decompression stream.</returns>
</member>
</members>
</doc>

View file

@ -0,0 +1,296 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>K4os.Compression.LZ4.Streams</name>
</assembly>
<members>
<member name="T:K4os.Compression.LZ4.Streams.ILZ4Descriptor">
<summary>
LZ4 Frame descriptor.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.ContentLength">
<summary>Content length. Not always known.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.ContentChecksum">
<summary>Indicates if content checksum is provided.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.Chaining">
<summary>Indicates if blocks are chained (dependent) or not (independent).</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.BlockChecksum">
<summary>Indicates if block checksums are provided.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.Dictionary">
<summary>Dictionary id. May be null.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.BlockSize">
<summary>Block size.</summary>
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4DecoderSettings">
<summary>
Decoder settings.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderSettings.ExtraMemory">
<summary>Extra memory for decompression.</summary>
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4DecoderStream">
<summary>
LZ4 Decompression stream handling.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.#ctor(System.IO.Stream,System.Func{K4os.Compression.LZ4.Streams.ILZ4Descriptor,K4os.Compression.LZ4.Encoders.ILZ4Decoder},System.Boolean)">
<summary>Creates new instance <see cref="T:K4os.Compression.LZ4.Streams.LZ4DecoderStream"/>.</summary>
<param name="inner">Inner stream.</param>
<param name="decoderFactory">A function which will create appropriate decoder depending
on frame descriptor.</param>
<param name="leaveOpen">If <c>true</c> inner stream will not be closed after disposing.</param>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Flush">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.FlushAsync(System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Read(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.ReadByte">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Dispose">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.CanRead">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.CanSeek">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.CanWrite">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Length">
<summary>
Length of stream. Please note, this will only work if original LZ4 stream has
<c>ContentLength</c> field set in descriptor. Otherwise returned value will be <c>-1</c>.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Position">
<summary>
Position within the stream. Position can be read, but cannot be set as LZ4 stream does
not have <c>Seek</c> capability.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.CanTimeout">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.WriteTimeout">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.ReadTimeout">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Seek(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.SetLength(System.Int64)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Write(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.WriteByte(System.Byte)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4EncoderSettings">
<summary>
LZ4 encoder settings.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.ContentLength">
<summary>
Content length. It is not enforced, it can be set to any value, but it will be
written to the stream so it can be used while decoding. If you don't know the length
just leave default value.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.ChainBlocks">
<summary>
Indicates if blocks should be chained (dependent) or not (independent). Dependent blocks
(with chaining) provide better compression ratio but are a little but slower and take
more memory.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.BlockSize">
<summary>
Block size. You can use any block size, but default values for LZ4 are 64k, 256k, 1m,
and 4m. 64k is good enough for dependent blocks, but for independent blocks bigger is
better.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.ContentChecksum">
<summary>Indicates is content checksum is provided. Not implemented yet.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.BlockChecksum">
<summary>Indicates if block checksum is provided. Not implemented yet.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.Dictionary">
<summary>Dictionary id. Not implemented yet.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.CompressionLevel">
<summary>Compression level.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.ExtraMemory">
<summary>Extra memory (for the process, more is usually better).</summary>
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4EncoderStream">
<summary>
LZ4 compression stream.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.#ctor(System.IO.Stream,K4os.Compression.LZ4.Streams.ILZ4Descriptor,System.Func{K4os.Compression.LZ4.Streams.ILZ4Descriptor,K4os.Compression.LZ4.Encoders.ILZ4Encoder},System.Boolean)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Streams.LZ4EncoderStream"/>.</summary>
<param name="inner">Inner stream.</param>
<param name="descriptor">LZ4 Descriptor.</param>
<param name="encoderFactory">Function which will take descriptor and return
appropriate encoder.</param>
<param name="leaveOpen">Indicates if <paramref name="inner"/> stream should be left
open after disposing.</param>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Flush">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.FlushAsync(System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Close">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.WriteByte(System.Byte)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Write(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Dispose">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.CanRead">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.CanSeek">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.CanWrite">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Length">
<summary>Length of the stream and number of bytes written so far.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Position">
<summary>Read-only position in the stream. Trying to set it will throw
<see cref="T:System.InvalidOperationException"/>.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.CanTimeout">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.ReadTimeout">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.WriteTimeout">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Seek(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.SetLength(System.Int64)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Read(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.ReadByte">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4Descriptor">
<summary>
LZ4 frame descriptor.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.ContentLength">
<summary>Content length (if available).</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.ContentChecksum">
<summary>Indicates if content checksum if present.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.Chaining">
<summary>Indicates if blocks are chained.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.BlockChecksum">
<summary>Indicates if block checksums are present.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.Dictionary">
<summary>Dictionary id (or null).</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.BlockSize">
<summary>Block size.</summary>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4Descriptor.#ctor(System.Nullable{System.Int64},System.Boolean,System.Boolean,System.Boolean,System.Nullable{System.UInt32},System.Int32)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Streams.LZ4Descriptor"/>.</summary>
<param name="contentLength">Content length.</param>
<param name="contentChecksum">Content checksum flag.</param>
<param name="chaining">Chaining flag.</param>
<param name="blockChecksum">Block checksum flag.</param>
<param name="dictionary">Dictionary id.</param>
<param name="blockSize">Block size.</param>
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4Stream">
<summary>
Utility class with factory methods to create LZ4 compression and decompression streams.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4Stream.Encode(System.IO.Stream,K4os.Compression.LZ4.Streams.LZ4EncoderSettings,System.Boolean)">
<summary>Created compression stream on top of inner stream.</summary>
<param name="stream">Inner stream.</param>
<param name="settings">Compression settings.</param>
<param name="leaveOpen">Leave inner stream open after disposing.</param>
<returns>Compression stream.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4Stream.Encode(System.IO.Stream,K4os.Compression.LZ4.LZ4Level,System.Int32,System.Boolean)">
<summary>Created compression stream on top of inner stream.</summary>
<param name="stream">Inner stream.</param>
<param name="level">Compression level.</param>
<param name="extraMemory">Extra memory used for compression.</param>
<param name="leaveOpen">Leave inner stream open after disposing.</param>
<returns>Compression stream.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4Stream.Decode(System.IO.Stream,K4os.Compression.LZ4.Streams.LZ4DecoderSettings,System.Boolean)">
<summary>Creates decompression stream on top of inner stream.</summary>
<param name="stream">Inner stream.</param>
<param name="settings">Decompression settings.</param>
<param name="leaveOpen">Leave inner stream open after disposing.</param>
<returns>Decompression stream.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4Stream.Decode(System.IO.Stream,System.Int32,System.Boolean)">
<summary>Creates decompression stream on top of inner stream.</summary>
<param name="stream">Inner stream.</param>
<param name="extraMemory">Extra memory used for decompression.</param>
<param name="leaveOpen">Leave inner stream open after disposing.</param>
<returns>Decompression stream.</returns>
</member>
</members>
</doc>

View file

@ -0,0 +1,296 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>K4os.Compression.LZ4.Streams</name>
</assembly>
<members>
<member name="T:K4os.Compression.LZ4.Streams.ILZ4Descriptor">
<summary>
LZ4 Frame descriptor.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.ContentLength">
<summary>Content length. Not always known.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.ContentChecksum">
<summary>Indicates if content checksum is provided.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.Chaining">
<summary>Indicates if blocks are chained (dependent) or not (independent).</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.BlockChecksum">
<summary>Indicates if block checksums are provided.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.Dictionary">
<summary>Dictionary id. May be null.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.ILZ4Descriptor.BlockSize">
<summary>Block size.</summary>
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4DecoderSettings">
<summary>
Decoder settings.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderSettings.ExtraMemory">
<summary>Extra memory for decompression.</summary>
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4DecoderStream">
<summary>
LZ4 Decompression stream handling.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.#ctor(System.IO.Stream,System.Func{K4os.Compression.LZ4.Streams.ILZ4Descriptor,K4os.Compression.LZ4.Encoders.ILZ4Decoder},System.Boolean)">
<summary>Creates new instance <see cref="T:K4os.Compression.LZ4.Streams.LZ4DecoderStream"/>.</summary>
<param name="inner">Inner stream.</param>
<param name="decoderFactory">A function which will create appropriate decoder depending
on frame descriptor.</param>
<param name="leaveOpen">If <c>true</c> inner stream will not be closed after disposing.</param>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Flush">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.FlushAsync(System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Read(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.ReadByte">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Dispose">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.CanRead">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.CanSeek">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.CanWrite">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Length">
<summary>
Length of stream. Please note, this will only work if original LZ4 stream has
<c>ContentLength</c> field set in descriptor. Otherwise returned value will be <c>-1</c>.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Position">
<summary>
Position within the stream. Position can be read, but cannot be set as LZ4 stream does
not have <c>Seek</c> capability.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.CanTimeout">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.WriteTimeout">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4DecoderStream.ReadTimeout">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Seek(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.SetLength(System.Int64)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.Write(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.WriteByte(System.Byte)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4DecoderStream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4EncoderSettings">
<summary>
LZ4 encoder settings.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.ContentLength">
<summary>
Content length. It is not enforced, it can be set to any value, but it will be
written to the stream so it can be used while decoding. If you don't know the length
just leave default value.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.ChainBlocks">
<summary>
Indicates if blocks should be chained (dependent) or not (independent). Dependent blocks
(with chaining) provide better compression ratio but are a little but slower and take
more memory.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.BlockSize">
<summary>
Block size. You can use any block size, but default values for LZ4 are 64k, 256k, 1m,
and 4m. 64k is good enough for dependent blocks, but for independent blocks bigger is
better.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.ContentChecksum">
<summary>Indicates is content checksum is provided. Not implemented yet.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.BlockChecksum">
<summary>Indicates if block checksum is provided. Not implemented yet.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.Dictionary">
<summary>Dictionary id. Not implemented yet.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.CompressionLevel">
<summary>Compression level.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderSettings.ExtraMemory">
<summary>Extra memory (for the process, more is usually better).</summary>
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4EncoderStream">
<summary>
LZ4 compression stream.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.#ctor(System.IO.Stream,K4os.Compression.LZ4.Streams.ILZ4Descriptor,System.Func{K4os.Compression.LZ4.Streams.ILZ4Descriptor,K4os.Compression.LZ4.Encoders.ILZ4Encoder},System.Boolean)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Streams.LZ4EncoderStream"/>.</summary>
<param name="inner">Inner stream.</param>
<param name="descriptor">LZ4 Descriptor.</param>
<param name="encoderFactory">Function which will take descriptor and return
appropriate encoder.</param>
<param name="leaveOpen">Indicates if <paramref name="inner"/> stream should be left
open after disposing.</param>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Flush">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.FlushAsync(System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Close">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.WriteByte(System.Byte)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Write(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Dispose">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.CanRead">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.CanSeek">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.CanWrite">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Length">
<summary>Length of the stream and number of bytes written so far.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Position">
<summary>Read-only position in the stream. Trying to set it will throw
<see cref="T:System.InvalidOperationException"/>.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.CanTimeout">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.ReadTimeout">
<inheritdoc />
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4EncoderStream.WriteTimeout">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Seek(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.SetLength(System.Int64)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.Read(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4EncoderStream.ReadByte">
<inheritdoc />
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4Descriptor">
<summary>
LZ4 frame descriptor.
</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.ContentLength">
<summary>Content length (if available).</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.ContentChecksum">
<summary>Indicates if content checksum if present.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.Chaining">
<summary>Indicates if blocks are chained.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.BlockChecksum">
<summary>Indicates if block checksums are present.</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.Dictionary">
<summary>Dictionary id (or null).</summary>
</member>
<member name="P:K4os.Compression.LZ4.Streams.LZ4Descriptor.BlockSize">
<summary>Block size.</summary>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4Descriptor.#ctor(System.Nullable{System.Int64},System.Boolean,System.Boolean,System.Boolean,System.Nullable{System.UInt32},System.Int32)">
<summary>Creates new instance of <see cref="T:K4os.Compression.LZ4.Streams.LZ4Descriptor"/>.</summary>
<param name="contentLength">Content length.</param>
<param name="contentChecksum">Content checksum flag.</param>
<param name="chaining">Chaining flag.</param>
<param name="blockChecksum">Block checksum flag.</param>
<param name="dictionary">Dictionary id.</param>
<param name="blockSize">Block size.</param>
</member>
<member name="T:K4os.Compression.LZ4.Streams.LZ4Stream">
<summary>
Utility class with factory methods to create LZ4 compression and decompression streams.
</summary>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4Stream.Encode(System.IO.Stream,K4os.Compression.LZ4.Streams.LZ4EncoderSettings,System.Boolean)">
<summary>Created compression stream on top of inner stream.</summary>
<param name="stream">Inner stream.</param>
<param name="settings">Compression settings.</param>
<param name="leaveOpen">Leave inner stream open after disposing.</param>
<returns>Compression stream.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4Stream.Encode(System.IO.Stream,K4os.Compression.LZ4.LZ4Level,System.Int32,System.Boolean)">
<summary>Created compression stream on top of inner stream.</summary>
<param name="stream">Inner stream.</param>
<param name="level">Compression level.</param>
<param name="extraMemory">Extra memory used for compression.</param>
<param name="leaveOpen">Leave inner stream open after disposing.</param>
<returns>Compression stream.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4Stream.Decode(System.IO.Stream,K4os.Compression.LZ4.Streams.LZ4DecoderSettings,System.Boolean)">
<summary>Creates decompression stream on top of inner stream.</summary>
<param name="stream">Inner stream.</param>
<param name="settings">Decompression settings.</param>
<param name="leaveOpen">Leave inner stream open after disposing.</param>
<returns>Decompression stream.</returns>
</member>
<member name="M:K4os.Compression.LZ4.Streams.LZ4Stream.Decode(System.IO.Stream,System.Int32,System.Boolean)">
<summary>Creates decompression stream on top of inner stream.</summary>
<param name="stream">Inner stream.</param>
<param name="extraMemory">Extra memory used for decompression.</param>
<param name="leaveOpen">Leave inner stream open after disposing.</param>
<returns>Decompression stream.</returns>
</member>
</members>
</doc>

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,163 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>K4os.Hash.xxHash</name>
</assembly>
<members>
<member name="T:K4os.Hash.xxHash.HashAlgorithmAdapter">
<summary>
Adapter implementing <see cref="T:System.Security.Cryptography.HashAlgorithm"/>
</summary>
</member>
<member name="M:K4os.Hash.xxHash.HashAlgorithmAdapter.#ctor(System.Int32,System.Action,System.Action{System.Byte[],System.Int32,System.Int32},System.Func{System.Byte[]})">
<summary>
Creates new <see cref="T:K4os.Hash.xxHash.HashAlgorithmAdapter"/>.
</summary>
<param name="hashSize">Hash size (in bytes)</param>
<param name="reset">Reset function.</param>
<param name="update">Update function.</param>
<param name="digest">Digest function.</param>
</member>
<member name="P:K4os.Hash.xxHash.HashAlgorithmAdapter.HashSize">
<inheritdoc />
</member>
<member name="P:K4os.Hash.xxHash.HashAlgorithmAdapter.Hash">
<inheritdoc />
</member>
<member name="M:K4os.Hash.xxHash.HashAlgorithmAdapter.HashCore(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Hash.xxHash.HashAlgorithmAdapter.HashFinal">
<inheritdoc />
</member>
<member name="M:K4os.Hash.xxHash.HashAlgorithmAdapter.Initialize">
<inheritdoc />
</member>
<member name="T:K4os.Hash.xxHash.XXH">
<summary>
Base class for both <see cref="T:K4os.Hash.xxHash.XXH32"/> and <see cref="T:K4os.Hash.xxHash.XXH64"/>. Do not use directly.
</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH.#ctor">
<summary>Protected constructor to prevent instantiation.</summary>
</member>
<member name="T:K4os.Hash.xxHash.XXH32">
<summary>
xxHash 32-bit.
</summary>
</member>
<member name="F:K4os.Hash.xxHash.XXH32.EmptyHash">
<summary>Hash of empty buffer.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.DigestOf(System.Void*,System.Int32)">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="length">Length of buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.DigestOf(System.ReadOnlySpan{System.Byte})">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.DigestOf(System.Byte[],System.Int32,System.Int32)">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="offset">Starting offset.</param>
<param name="length">Length of buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.#ctor">
<summary>Creates xxHash instance.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.Reset">
<summary>Resets hash calculation.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.Update(System.Byte*,System.Int32)">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="length">Length of buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.Update(System.ReadOnlySpan{System.Byte})">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.Update(System.Byte[],System.Int32,System.Int32)">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="offset">Starting offset.</param>
<param name="length">Length of buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.Digest">
<summary>Hash so far.</summary>
<returns>Hash so far.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.DigestBytes">
<summary>Hash so far, as byte array.</summary>
<returns>Hash so far.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.AsHashAlgorithm">
<summary>Converts this class to <see cref="T:System.Security.Cryptography.HashAlgorithm"/></summary>
<returns><see cref="T:System.Security.Cryptography.HashAlgorithm"/></returns>
</member>
<member name="T:K4os.Hash.xxHash.XXH64">
<summary>
xxHash 64-bit.
</summary>
</member>
<member name="F:K4os.Hash.xxHash.XXH64.EmptyHash">
<summary>Hash of empty buffer.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.DigestOf(System.Void*,System.Int32)">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="length">Length of buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.DigestOf(System.ReadOnlySpan{System.Byte})">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.DigestOf(System.Byte[],System.Int32,System.Int32)">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="offset">Starting offset.</param>
<param name="length">Length of buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.#ctor">
<summary>Creates xxHash instance.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.Reset">
<summary>Resets hash calculation.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.Update(System.Byte*,System.Int32)">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="length">Length of buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.Update(System.ReadOnlySpan{System.Byte})">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.Update(System.Byte[],System.Int32,System.Int32)">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="offset">Starting offset.</param>
<param name="length">Length of buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.Digest">
<summary>Hash so far.</summary>
<returns>Hash so far.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.DigestBytes">
<summary>Hash so far, as byte array.</summary>
<returns>Hash so far.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.AsHashAlgorithm">
<summary>Converts this class to <see cref="T:System.Security.Cryptography.HashAlgorithm"/></summary>
<returns><see cref="T:System.Security.Cryptography.HashAlgorithm"/></returns>
</member>
</members>
</doc>

View file

@ -0,0 +1,163 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>K4os.Hash.xxHash</name>
</assembly>
<members>
<member name="T:K4os.Hash.xxHash.HashAlgorithmAdapter">
<summary>
Adapter implementing <see cref="T:System.Security.Cryptography.HashAlgorithm"/>
</summary>
</member>
<member name="M:K4os.Hash.xxHash.HashAlgorithmAdapter.#ctor(System.Int32,System.Action,System.Action{System.Byte[],System.Int32,System.Int32},System.Func{System.Byte[]})">
<summary>
Creates new <see cref="T:K4os.Hash.xxHash.HashAlgorithmAdapter"/>.
</summary>
<param name="hashSize">Hash size (in bytes)</param>
<param name="reset">Reset function.</param>
<param name="update">Update function.</param>
<param name="digest">Digest function.</param>
</member>
<member name="P:K4os.Hash.xxHash.HashAlgorithmAdapter.HashSize">
<inheritdoc />
</member>
<member name="P:K4os.Hash.xxHash.HashAlgorithmAdapter.Hash">
<inheritdoc />
</member>
<member name="M:K4os.Hash.xxHash.HashAlgorithmAdapter.HashCore(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Hash.xxHash.HashAlgorithmAdapter.HashFinal">
<inheritdoc />
</member>
<member name="M:K4os.Hash.xxHash.HashAlgorithmAdapter.Initialize">
<inheritdoc />
</member>
<member name="T:K4os.Hash.xxHash.XXH">
<summary>
Base class for both <see cref="T:K4os.Hash.xxHash.XXH32"/> and <see cref="T:K4os.Hash.xxHash.XXH64"/>. Do not use directly.
</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH.#ctor">
<summary>Protected constructor to prevent instantiation.</summary>
</member>
<member name="T:K4os.Hash.xxHash.XXH32">
<summary>
xxHash 32-bit.
</summary>
</member>
<member name="F:K4os.Hash.xxHash.XXH32.EmptyHash">
<summary>Hash of empty buffer.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.DigestOf(System.Void*,System.Int32)">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="length">Length of buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.DigestOf(System.ReadOnlySpan{System.Byte})">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.DigestOf(System.Byte[],System.Int32,System.Int32)">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="offset">Starting offset.</param>
<param name="length">Length of buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.#ctor">
<summary>Creates xxHash instance.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.Reset">
<summary>Resets hash calculation.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.Update(System.Byte*,System.Int32)">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="length">Length of buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.Update(System.ReadOnlySpan{System.Byte})">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.Update(System.Byte[],System.Int32,System.Int32)">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="offset">Starting offset.</param>
<param name="length">Length of buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.Digest">
<summary>Hash so far.</summary>
<returns>Hash so far.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.DigestBytes">
<summary>Hash so far, as byte array.</summary>
<returns>Hash so far.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.AsHashAlgorithm">
<summary>Converts this class to <see cref="T:System.Security.Cryptography.HashAlgorithm"/></summary>
<returns><see cref="T:System.Security.Cryptography.HashAlgorithm"/></returns>
</member>
<member name="T:K4os.Hash.xxHash.XXH64">
<summary>
xxHash 64-bit.
</summary>
</member>
<member name="F:K4os.Hash.xxHash.XXH64.EmptyHash">
<summary>Hash of empty buffer.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.DigestOf(System.Void*,System.Int32)">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="length">Length of buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.DigestOf(System.ReadOnlySpan{System.Byte})">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.DigestOf(System.Byte[],System.Int32,System.Int32)">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="offset">Starting offset.</param>
<param name="length">Length of buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.#ctor">
<summary>Creates xxHash instance.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.Reset">
<summary>Resets hash calculation.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.Update(System.Byte*,System.Int32)">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="length">Length of buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.Update(System.ReadOnlySpan{System.Byte})">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.Update(System.Byte[],System.Int32,System.Int32)">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="offset">Starting offset.</param>
<param name="length">Length of buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.Digest">
<summary>Hash so far.</summary>
<returns>Hash so far.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.DigestBytes">
<summary>Hash so far, as byte array.</summary>
<returns>Hash so far.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.AsHashAlgorithm">
<summary>Converts this class to <see cref="T:System.Security.Cryptography.HashAlgorithm"/></summary>
<returns><see cref="T:System.Security.Cryptography.HashAlgorithm"/></returns>
</member>
</members>
</doc>

View file

@ -0,0 +1,163 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>K4os.Hash.xxHash</name>
</assembly>
<members>
<member name="T:K4os.Hash.xxHash.HashAlgorithmAdapter">
<summary>
Adapter implementing <see cref="T:System.Security.Cryptography.HashAlgorithm"/>
</summary>
</member>
<member name="M:K4os.Hash.xxHash.HashAlgorithmAdapter.#ctor(System.Int32,System.Action,System.Action{System.Byte[],System.Int32,System.Int32},System.Func{System.Byte[]})">
<summary>
Creates new <see cref="T:K4os.Hash.xxHash.HashAlgorithmAdapter"/>.
</summary>
<param name="hashSize">Hash size (in bytes)</param>
<param name="reset">Reset function.</param>
<param name="update">Update function.</param>
<param name="digest">Digest function.</param>
</member>
<member name="P:K4os.Hash.xxHash.HashAlgorithmAdapter.HashSize">
<inheritdoc />
</member>
<member name="P:K4os.Hash.xxHash.HashAlgorithmAdapter.Hash">
<inheritdoc />
</member>
<member name="M:K4os.Hash.xxHash.HashAlgorithmAdapter.HashCore(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:K4os.Hash.xxHash.HashAlgorithmAdapter.HashFinal">
<inheritdoc />
</member>
<member name="M:K4os.Hash.xxHash.HashAlgorithmAdapter.Initialize">
<inheritdoc />
</member>
<member name="T:K4os.Hash.xxHash.XXH">
<summary>
Base class for both <see cref="T:K4os.Hash.xxHash.XXH32"/> and <see cref="T:K4os.Hash.xxHash.XXH64"/>. Do not use directly.
</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH.#ctor">
<summary>Protected constructor to prevent instantiation.</summary>
</member>
<member name="T:K4os.Hash.xxHash.XXH32">
<summary>
xxHash 32-bit.
</summary>
</member>
<member name="F:K4os.Hash.xxHash.XXH32.EmptyHash">
<summary>Hash of empty buffer.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.DigestOf(System.Void*,System.Int32)">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="length">Length of buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.DigestOf(System.ReadOnlySpan{System.Byte})">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.DigestOf(System.Byte[],System.Int32,System.Int32)">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="offset">Starting offset.</param>
<param name="length">Length of buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.#ctor">
<summary>Creates xxHash instance.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.Reset">
<summary>Resets hash calculation.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.Update(System.Byte*,System.Int32)">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="length">Length of buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.Update(System.ReadOnlySpan{System.Byte})">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.Update(System.Byte[],System.Int32,System.Int32)">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="offset">Starting offset.</param>
<param name="length">Length of buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.Digest">
<summary>Hash so far.</summary>
<returns>Hash so far.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.DigestBytes">
<summary>Hash so far, as byte array.</summary>
<returns>Hash so far.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH32.AsHashAlgorithm">
<summary>Converts this class to <see cref="T:System.Security.Cryptography.HashAlgorithm"/></summary>
<returns><see cref="T:System.Security.Cryptography.HashAlgorithm"/></returns>
</member>
<member name="T:K4os.Hash.xxHash.XXH64">
<summary>
xxHash 64-bit.
</summary>
</member>
<member name="F:K4os.Hash.xxHash.XXH64.EmptyHash">
<summary>Hash of empty buffer.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.DigestOf(System.Void*,System.Int32)">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="length">Length of buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.DigestOf(System.ReadOnlySpan{System.Byte})">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.DigestOf(System.Byte[],System.Int32,System.Int32)">
<summary>Hash of provided buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="offset">Starting offset.</param>
<param name="length">Length of buffer.</param>
<returns>Digest.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.#ctor">
<summary>Creates xxHash instance.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.Reset">
<summary>Resets hash calculation.</summary>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.Update(System.Byte*,System.Int32)">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="length">Length of buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.Update(System.ReadOnlySpan{System.Byte})">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.Update(System.Byte[],System.Int32,System.Int32)">
<summary>Updates the has using given buffer.</summary>
<param name="bytes">Buffer.</param>
<param name="offset">Starting offset.</param>
<param name="length">Length of buffer.</param>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.Digest">
<summary>Hash so far.</summary>
<returns>Hash so far.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.DigestBytes">
<summary>Hash so far, as byte array.</summary>
<returns>Hash so far.</returns>
</member>
<member name="M:K4os.Hash.xxHash.XXH64.AsHashAlgorithm">
<summary>Converts this class to <see cref="T:System.Security.Cryptography.HashAlgorithm"/></summary>
<returns><see cref="T:System.Security.Cryptography.HashAlgorithm"/></returns>
</member>
</members>
</doc>

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,23 @@
The MIT License (MIT)
Copyright (c) .NET Foundation and Contributors
All rights reserved.
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 OR OTHER DEALINGS IN THE
SOFTWARE.

Binary file not shown.

View file

@ -0,0 +1,226 @@
.NET Core uses third-party libraries or other resources that may be
distributed under licenses different than the .NET Core software.
In the event that we accidentally failed to list a required notice, please
bring it to our attention. Post an issue or email us:
dotnet@microsoft.com
The attached notices are provided for information only.
License notice for Slicing-by-8
-------------------------------
http://sourceforge.net/projects/slicing-by-8/
Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
This software program is licensed subject to the BSD License, available at
http://www.opensource.org/licenses/bsd-license.html.
License notice for Unicode data
-------------------------------
http://www.unicode.org/copyright.html#License
Copyright © 1991-2017 Unicode, Inc. All rights reserved.
Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Unicode data files and any associated documentation
(the "Data Files") or Unicode software and any associated documentation
(the "Software") to deal in the Data Files or Software
without restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, and/or sell copies of
the Data Files or Software, and to permit persons to whom the Data Files
or Software are furnished to do so, provided that either
(a) this copyright and permission notice appear with all copies
of the Data Files or Software, or
(b) this copyright and permission notice appear in associated
Documentation.
THE DATA FILES AND SOFTWARE ARE 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 OF THIRD PARTY RIGHTS.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THE DATA FILES OR SOFTWARE.
Except as contained in this notice, the name of a copyright holder
shall not be used in advertising or otherwise to promote the sale,
use or other dealings in these Data Files or Software without prior
written authorization of the copyright holder.
License notice for Zlib
-----------------------
https://github.com/madler/zlib
http://zlib.net/zlib_license.html
/* zlib.h -- interface of the 'zlib' general purpose compression library
version 1.2.11, January 15th, 2017
Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
Jean-loup Gailly Mark Adler
jloup@gzip.org madler@alumni.caltech.edu
*/
License notice for Mono
-------------------------------
http://www.mono-project.com/docs/about-mono/
Copyright (c) .NET Foundation Contributors
MIT License
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 OR OTHER DEALINGS IN THE SOFTWARE.
License notice for International Organization for Standardization
-----------------------------------------------------------------
Portions (C) International Organization for Standardization 1986:
Permission to copy in any form is granted for use with
conforming SGML systems and applications as defined in
ISO 8879, provided this notice is included in all copies.
License notice for Intel
------------------------
"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
License notice for Xamarin and Novell
-------------------------------------
Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com)
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 OR OTHER DEALINGS IN
THE SOFTWARE.
Copyright (c) 2011 Novell, Inc (http://www.novell.com)
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 OR OTHER DEALINGS IN
THE SOFTWARE.
Third party notice for W3C
--------------------------
"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE
Status: This license takes effect 13 May, 2015.
This work is being provided by the copyright holders under the following license.
License
By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications:
The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included.
Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
Disclaimers
THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders."
License notice for Bit Twiddling Hacks
--------------------------------------
Bit Twiddling Hacks
By Sean Eron Anderson
seander@cs.stanford.edu
Individually, the code snippets here are in the public domain (unless otherwise
noted) — feel free to use them however you please. The aggregate collection and
descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are
distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and
without even the implied warranty of merchantability or fitness for a particular
purpose.

View file

Binary file not shown.

View file

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?><span>
<doc>
<assembly>
<name>System.Buffers</name>
</assembly>
<members>
<member name="T:System.Buffers.ArrayPool`1">
<summary>Provides a resource pool that enables reusing instances of type <see cref="T[]"></see>.</summary>
<typeparam name="T">The type of the objects that are in the resource pool.</typeparam>
</member>
<member name="M:System.Buffers.ArrayPool`1.#ctor">
<summary>Initializes a new instance of the <see cref="ArrayPool{T}"></see> class.</summary>
</member>
<member name="M:System.Buffers.ArrayPool`1.Create">
<summary>Creates a new instance of the <see cref="ArrayPool{T}"></see> class.</summary>
<returns>A new instance of the <see cref="ArrayPool{T}"></see> class.</returns>
</member>
<member name="M:System.Buffers.ArrayPool`1.Create(System.Int32,System.Int32)">
<summary>Creates a new instance of the <see cref="ArrayPool{T}"></see> class using the specifed configuration.</summary>
<param name="maxArrayLength">The maximum length of an array instance that may be stored in the pool.</param>
<param name="maxArraysPerBucket">The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access.</param>
<returns>A new instance of the <see cref="ArrayPool{T}"></see> class with the specified configuration.</returns>
</member>
<member name="M:System.Buffers.ArrayPool`1.Rent(System.Int32)">
<summary>Retrieves a buffer that is at least the requested length.</summary>
<param name="minimumLength">The minimum length of the array.</param>
<returns>An array of type <see cref="T[]"></see> that is at least <paramref name="minimumLength">minimumLength</paramref> in length.</returns>
</member>
<member name="M:System.Buffers.ArrayPool`1.Return(`0[],System.Boolean)">
<summary>Returns an array to the pool that was previously obtained using the <see cref="Rent"></see> method on the same <see cref="ArrayPool{T}"></see> instance.</summary>
<param name="array">A buffer to return to the pool that was previously obtained using the <see cref="Rent"></see> method.</param>
<param name="clearArray">Indicates whether the contents of the buffer should be cleared before reuse. If <paramref name="bufferLength">bufferLength</paramref> is set to true, and if the pool will store the buffer to enable subsequent reuse, the <see cref="Return"></see> method will clear the <paramref name="array">array</paramref> of its contents so that a subsequent caller using the <see cref="Rent"></see> method will not see the content of the previous caller. If <paramref name="bufferLength">bufferLength</paramref> is set to false or if the pool will release the buffer, the array's contents are left unchanged.</param>
</member>
<member name="P:System.Buffers.ArrayPool`1.Shared">
<summary>Gets a shared <see cref="ArrayPool{T}"></see> instance.</summary>
<returns>A shared <see cref="ArrayPool{T}"></see> instance.</returns>
</member>
</members>
</doc></span>

Binary file not shown.

View file

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?><span>
<doc>
<assembly>
<name>System.Buffers</name>
</assembly>
<members>
<member name="T:System.Buffers.ArrayPool`1">
<summary>Provides a resource pool that enables reusing instances of type <see cref="T[]"></see>.</summary>
<typeparam name="T">The type of the objects that are in the resource pool.</typeparam>
</member>
<member name="M:System.Buffers.ArrayPool`1.#ctor">
<summary>Initializes a new instance of the <see cref="ArrayPool{T}"></see> class.</summary>
</member>
<member name="M:System.Buffers.ArrayPool`1.Create">
<summary>Creates a new instance of the <see cref="ArrayPool{T}"></see> class.</summary>
<returns>A new instance of the <see cref="ArrayPool{T}"></see> class.</returns>
</member>
<member name="M:System.Buffers.ArrayPool`1.Create(System.Int32,System.Int32)">
<summary>Creates a new instance of the <see cref="ArrayPool{T}"></see> class using the specifed configuration.</summary>
<param name="maxArrayLength">The maximum length of an array instance that may be stored in the pool.</param>
<param name="maxArraysPerBucket">The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access.</param>
<returns>A new instance of the <see cref="ArrayPool{T}"></see> class with the specified configuration.</returns>
</member>
<member name="M:System.Buffers.ArrayPool`1.Rent(System.Int32)">
<summary>Retrieves a buffer that is at least the requested length.</summary>
<param name="minimumLength">The minimum length of the array.</param>
<returns>An array of type <see cref="T[]"></see> that is at least <paramref name="minimumLength">minimumLength</paramref> in length.</returns>
</member>
<member name="M:System.Buffers.ArrayPool`1.Return(`0[],System.Boolean)">
<summary>Returns an array to the pool that was previously obtained using the <see cref="Rent"></see> method on the same <see cref="ArrayPool{T}"></see> instance.</summary>
<param name="array">A buffer to return to the pool that was previously obtained using the <see cref="Rent"></see> method.</param>
<param name="clearArray">Indicates whether the contents of the buffer should be cleared before reuse. If <paramref name="bufferLength">bufferLength</paramref> is set to true, and if the pool will store the buffer to enable subsequent reuse, the <see cref="Return"></see> method will clear the <paramref name="array">array</paramref> of its contents so that a subsequent caller using the <see cref="Rent"></see> method will not see the content of the previous caller. If <paramref name="bufferLength">bufferLength</paramref> is set to false or if the pool will release the buffer, the array's contents are left unchanged.</param>
</member>
<member name="P:System.Buffers.ArrayPool`1.Shared">
<summary>Gets a shared <see cref="ArrayPool{T}"></see> instance.</summary>
<returns>A shared <see cref="ArrayPool{T}"></see> instance.</returns>
</member>
</members>
</doc></span>

View file

Binary file not shown.

View file

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?><span>
<doc>
<assembly>
<name>System.Buffers</name>
</assembly>
<members>
<member name="T:System.Buffers.ArrayPool`1">
<summary>Provides a resource pool that enables reusing instances of type <see cref="T[]"></see>.</summary>
<typeparam name="T">The type of the objects that are in the resource pool.</typeparam>
</member>
<member name="M:System.Buffers.ArrayPool`1.#ctor">
<summary>Initializes a new instance of the <see cref="ArrayPool{T}"></see> class.</summary>
</member>
<member name="M:System.Buffers.ArrayPool`1.Create">
<summary>Creates a new instance of the <see cref="ArrayPool{T}"></see> class.</summary>
<returns>A new instance of the <see cref="ArrayPool{T}"></see> class.</returns>
</member>
<member name="M:System.Buffers.ArrayPool`1.Create(System.Int32,System.Int32)">
<summary>Creates a new instance of the <see cref="ArrayPool{T}"></see> class using the specifed configuration.</summary>
<param name="maxArrayLength">The maximum length of an array instance that may be stored in the pool.</param>
<param name="maxArraysPerBucket">The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access.</param>
<returns>A new instance of the <see cref="ArrayPool{T}"></see> class with the specified configuration.</returns>
</member>
<member name="M:System.Buffers.ArrayPool`1.Rent(System.Int32)">
<summary>Retrieves a buffer that is at least the requested length.</summary>
<param name="minimumLength">The minimum length of the array.</param>
<returns>An array of type <see cref="T[]"></see> that is at least <paramref name="minimumLength">minimumLength</paramref> in length.</returns>
</member>
<member name="M:System.Buffers.ArrayPool`1.Return(`0[],System.Boolean)">
<summary>Returns an array to the pool that was previously obtained using the <see cref="Rent"></see> method on the same <see cref="ArrayPool{T}"></see> instance.</summary>
<param name="array">A buffer to return to the pool that was previously obtained using the <see cref="Rent"></see> method.</param>
<param name="clearArray">Indicates whether the contents of the buffer should be cleared before reuse. If <paramref name="bufferLength">bufferLength</paramref> is set to true, and if the pool will store the buffer to enable subsequent reuse, the <see cref="Return"></see> method will clear the <paramref name="array">array</paramref> of its contents so that a subsequent caller using the <see cref="Rent"></see> method will not see the content of the previous caller. If <paramref name="bufferLength">bufferLength</paramref> is set to false or if the pool will release the buffer, the array's contents are left unchanged.</param>
</member>
<member name="P:System.Buffers.ArrayPool`1.Shared">
<summary>Gets a shared <see cref="ArrayPool{T}"></see> instance.</summary>
<returns>A shared <see cref="ArrayPool{T}"></see> instance.</returns>
</member>
</members>
</doc></span>

Binary file not shown.

View file

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?><span>
<doc>
<assembly>
<name>System.Buffers</name>
</assembly>
<members>
<member name="T:System.Buffers.ArrayPool`1">
<summary>Provides a resource pool that enables reusing instances of type <see cref="T[]"></see>.</summary>
<typeparam name="T">The type of the objects that are in the resource pool.</typeparam>
</member>
<member name="M:System.Buffers.ArrayPool`1.#ctor">
<summary>Initializes a new instance of the <see cref="ArrayPool{T}"></see> class.</summary>
</member>
<member name="M:System.Buffers.ArrayPool`1.Create">
<summary>Creates a new instance of the <see cref="ArrayPool{T}"></see> class.</summary>
<returns>A new instance of the <see cref="ArrayPool{T}"></see> class.</returns>
</member>
<member name="M:System.Buffers.ArrayPool`1.Create(System.Int32,System.Int32)">
<summary>Creates a new instance of the <see cref="ArrayPool{T}"></see> class using the specifed configuration.</summary>
<param name="maxArrayLength">The maximum length of an array instance that may be stored in the pool.</param>
<param name="maxArraysPerBucket">The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access.</param>
<returns>A new instance of the <see cref="ArrayPool{T}"></see> class with the specified configuration.</returns>
</member>
<member name="M:System.Buffers.ArrayPool`1.Rent(System.Int32)">
<summary>Retrieves a buffer that is at least the requested length.</summary>
<param name="minimumLength">The minimum length of the array.</param>
<returns>An array of type <see cref="T[]"></see> that is at least <paramref name="minimumLength">minimumLength</paramref> in length.</returns>
</member>
<member name="M:System.Buffers.ArrayPool`1.Return(`0[],System.Boolean)">
<summary>Returns an array to the pool that was previously obtained using the <see cref="Rent"></see> method on the same <see cref="ArrayPool{T}"></see> instance.</summary>
<param name="array">A buffer to return to the pool that was previously obtained using the <see cref="Rent"></see> method.</param>
<param name="clearArray">Indicates whether the contents of the buffer should be cleared before reuse. If <paramref name="bufferLength">bufferLength</paramref> is set to true, and if the pool will store the buffer to enable subsequent reuse, the <see cref="Return"></see> method will clear the <paramref name="array">array</paramref> of its contents so that a subsequent caller using the <see cref="Rent"></see> method will not see the content of the previous caller. If <paramref name="bufferLength">bufferLength</paramref> is set to false or if the pool will release the buffer, the array's contents are left unchanged.</param>
</member>
<member name="P:System.Buffers.ArrayPool`1.Shared">
<summary>Gets a shared <see cref="ArrayPool{T}"></see> instance.</summary>
<returns>A shared <see cref="ArrayPool{T}"></see> instance.</returns>
</member>
</members>
</doc></span>

Some files were not shown because too many files have changed in this diff Show more