logo
pub trait PowerOfTwo { }
Expand description

The marker trait for type-level numbers which are a power of two.

This trait should not be implemented for anything outside this crate.

Examples

Here’s a working example:

use typenum::{PowerOfTwo, P4, P8};

fn only_p2<P: PowerOfTwo>() {}

only_p2::<P4>();
only_p2::<P8>();

Numbers which are not a power of two will fail to compile in this example:

use typenum::{P9, P511, P1023, PowerOfTwo};

fn only_p2<P: PowerOfTwo>() { }

only_p2::<P9>();
only_p2::<P511>();
only_p2::<P1023>();

Implementors