const fn cipher_suites<const N_VALUES: usize, const N: usize>(
    values: [CipherSuite; N_VALUES],
) -> [u8; N] {
    let mut value_bytes: [[u8; 2]; N_VALUES] = [[0; 2]; N_VALUES];
    let mut value_idx: usize = 0;
    while value_idx < N_VALUES {
        value_bytes[value_idx] = values[value_idx].value();
        value_idx += 1;
    }
    vector_u16(value_bytes)
}
/// Create a list of cipher suites.
///
/// # References
///
/// * [RFC 8446 Section 4.1.2](https://datatracker.ietf.org/doc/html/rfc8446#section-4.1.2)
///
/// ```text
/// uint8 CipherSuite[2];    /* Cryptographic suite selector */
///
/// struct {
///     ProtocolVersion legacy_version = 0x0303;    /* TLS v1.2 */
///     Random random;
///     opaque legacy_session_id<0..32>;
///     CipherSuite cipher_suites<2..2^16-2>;
///     opaque legacy_compression_methods<1..2^8-1>;
///     Extension extensions<8..2^16-1>;
/// } ClientHello;
/// ```
// N = N_VALUES * size_of::<u16>() + size_of::<u16>();
Create a list of cipher suites.
Create a list of cipher suites .
const fn cipher_suites<const N_VALUES: usize, const N: usize>(
    values: [CipherSuite; N_VALUES],
) -> [u8; N] {
    let mut value_bytes: [[u8; 2]; N_VALUES] = [[0; 2]; N_VALUES];
    let mut value_idx: usize = 0;
    while value_idx < N_VALUES {
        value_bytes[value_idx] = values[value_idx].value();
        value_idx += 1;
    }
    vector_u16(value_bytes)
}
const fn cipher_suites < const N_VALUES : usize , const N : usize > ( values : [ CipherSuite ; N_VALUES ] , ) -> [ u8 ; N ] { let mut value_bytes : [ [ u8 ; 2 ] ; N_VALUES ] = [ [ 0 ; 2 ] ; N_VALUES ] ; let mut value_idx : usize = 0 ; while value_idx < N_VALUES { value_bytes [ value_idx ] = values [ value_idx ] . value ( ) ; value_idx += 1 ; } vector_u16 ( value_bytes ) }
Create a list of cipher suites.
Create a list of cipher suites .
values
[CipherSuite; N_VALUES]
values
[CipherSuite; N_VALUES]
references


```text
uint8 CipherSuite[2];     Cryptographic suite selector

struct {
ProtocolVersion legacy_version = 0x0303;     TLS v1.2
Random random;
opaque legacy_session_id<0..32>;
CipherSuite cipher_suites<2..2^16-2>;
opaque legacy_compression_methods<1..2^8-1>;
Extension extensions<8..2^16-1>;
} ClientHello;
```
N = N_VALUES * size_of::() + size_of::().
` ` ` text uint8 CipherSuite [ 2 ] ; Cryptographic suite selector struct { ProtocolVersion legacy_version = 0x0303 ; TLS v1 . 2 Random random ; opaque legacy_session_id<0 .. 32 > ; CipherSuite cipher_suites<2 .. 2^16 - 2 > ; opaque legacy_compression_methods<1 .. 2^8 - 1 > ; Extension extensions<8 .. 2^16 - 1 > ; } ClientHello ; ` ` ` N = N_VALUES * size_of :: () + size_of :: () .