|  | ranges.h File Reference updated Thu Jun 19 2025 by Robert van Engelen |

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

Classes | Namespaces
ranges.h File Reference

RE/flex range sets as closed and open-ended set containers. More...

`#include <functional>`
`#include <set>`
Include dependency graph for ranges.h:
This graph shows which files directly or indirectly include this file:

## Classes
struct | reflex::range_compare< T >
| Functor to define a total order on ranges (intervals) represented by pairs. More...
class | reflex::Ranges< T >
| RE/flex Ranges template class. More...
class | reflex::ORanges< T >
| RE/flex ORanges (open-ended, ordinal value range) template class. More...

## Namespaces
| reflex

## Detailed Description

RE/flex range sets as closed and open-ended set containers.

Author
  Robert van Engelen - engel.nosp@m.en@g.nosp@m.enivi.nosp@m.a.co.nosp@m.m

Copyright
  (c) 2016-2020, Robert van Engelen, Genivia Inc. All rights reserved.
  (c) BSD-3 License - see LICENSE.txt

Open-ended ranges are more efficient than `std::set` when the values stored are adjacent (e.g. integers 2 and 3 are adjacent), since `std::set` stores values individually whereas open-ended ranges merges adjacent values into ranges. This lowers storage overhead and reduces insertion, deletion, and search time.