{
    return [step = 0](auto i) mutable
    {
        if (step++ % 2 == 0)
        {
            return std::numeric_limits<decltype(i)>::min();
        }
        else
        {
            return std::numeric_limits<decltype(i)>::max();
        }
    };
};
auto FFand0Generator = []()
{
    return [step = 0](auto i) mutable
    {
        decltype(i) result;
        if (step % 2 == 0)
            memset(&result, 0, sizeof(result));
        else
            memset(&result, 0xFF, sizeof(result));
        ++step;
        return result;
    };
};
template <typename T, typename Generator>
std::vector<CodecTestSequence> generatePyramidOfSequences(const size_t sequences_count, Generator && generator, const char* generator_name)
{
    std::vector<CodecTestSequence> sequences;