# annotation Flags

##
Overview

An enum can be marked with `@[Flags]`. This changes the default values. The first constant's value is 1, and successive constants are multiplied by 2.

    @[Flags]
    enum IOMode
      Read  # 1
      Write # 2
      Async # 4
    end

    (IOMode::Write | IOMode::Async).value # => 6
    (IOMode::Write | IOMode::Async).to_s  # => "Write | Async"

##
Defined in:

annotations.cr