support Generator Requirement: generator_iterator, random_redult
add c++14 constexpr version: generate, generate_n