Nope. Ranges are anything enumerable (can run an iterator through it by calling begin()/end() to get the boundaries), so you can do lists, arrays, generators etc.