[#sha256_implementation-UseImplementation]
= xref:sha256_implementation.adoc[sha256&lowbar;implementation]::UseImplementation
:relfileprefix: ../
:mrdocs:

Bit flags selecting which CPU&hyphen;specific SHA&hyphen;256 implementations may be used&period;

== Synopsis

Declared in `&lt;crypto&sol;sha256&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
enum UseImplementation : uint8&lowbar;t;
----

== Members

[cols="1,4"]
|===
| Name| Description
| `STANDARD` 
| Portable C&plus;&plus; implementation only&period;
| `USE&lowbar;SSE4` 
| Allow the SSE4&hyphen;accelerated implementation&period;
| `USE&lowbar;AVX2` 
| Allow the AVX2&hyphen;accelerated implementation&period;
| `USE&lowbar;SHANI` 
| Allow the SHA&hyphen;NI&hyphen;accelerated implementation&period;
| `USE&lowbar;SSE4&lowbar;AND&lowbar;AVX2` 
| Allow both SSE4 and AVX2&period;
| `USE&lowbar;SSE4&lowbar;AND&lowbar;SHANI` 
| Allow both SSE4 and SHA&hyphen;NI&period;
| `USE&lowbar;ALL` 
| Allow every accelerated implementation&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:SHA256AutoDetect.adoc[`&colon;&colon;SHA256AutoDetect`]
| Autodetect the best available SHA256 implementation&period; Returns the name of the implementation&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
