| Home | Libraries | People | FAQ | More

## Type expr_kind

boost::yap::expr_kind

## Synopsis

    // In header: <boost/yap/algorithm_fwd.hpp>

    enum expr_kind { expr_ref = =
                0, terminal = = 1, unary_plus = = 2,
                     negate = = 3, dereference = = 4, complement = = 5,
                     address_of = = 6, logical_not = = 7, pre_inc = = 8,
                     pre_dec = = 9, post_inc = = 10, post_dec = = 11,
                     shift_left = = 12, shift_right = = 13, multiplies = = 14,
                     divides = = 15, modulus = = 16, plus = = 17, minus = = 18,
                     less = = 19, greater = = 20, less_equal = = 21,
                     greater_equal = = 22, equal_to = = 23, not_equal_to = = 24,
                     logical_or = = 25, logical_and = = 26, bitwise_and = = 27,
                     bitwise_or = = 28, bitwise_xor = = 29, comma = = 30,
                     mem_ptr = = 31, assign = = 32, shift_left_assign = = 33,
                     shift_right_assign = = 34, multiplies_assign = = 35,
                     divides_assign = = 36, modulus_assign = = 37,
                     plus_assign = = 38, minus_assign = = 39,
                     bitwise_and_assign = = 40, bitwise_or_assign = = 41,
                     bitwise_xor_assign = = 42, subscript = = 43, if_else = = 44,
                     call = = 45 };

## Description

The enumeration representing all the kinds of expressions supported in YAP.

`expr_ref`
  A (possibly `const`) reference to another expression.
`terminal`
  A terminal expression.
`unary_plus`
  `+`
`negate`
  `-`
`dereference`
  `*`
`complement`
  `~`
`address_of`
  `&`
`logical_not`
  `!`
`pre_inc`
  `++`
`pre_dec`
  `--`
`post_inc`
  `++`(int)
`post_dec`
  `--`(int)
`shift_left`
  `<<`
`shift_right`
  `>>`
`multiplies`
  `*`
`divides`
  `/`
`modulus`
  `%`
`plus`
  `+`
`minus`
  `-`
`less`
  `<`
`greater`
  `>`
`less_equal`
  `<=`
`greater_equal`
  `>=`
`equal_to`
  `==`
`not_equal_to`
  `!=`
`logical_or`
  `||`
`logical_and`
  `&&`
`bitwise_and`
  `&`
`bitwise_or`
  ``|
`bitwise_xor`
  `^`
`comma`
  ``,
`mem_ptr`
  `->*`
`assign`
  `=`
`shift_left_assign`
  `<<=`
`shift_right_assign`
  `>>=`
`multiplies_assign`
  `*=`
`divides_assign`
  `/=`
`modulus_assign`
  `%=`
`plus_assign`
  `+=`
`minus_assign`
  `-=`
`bitwise_and_assign`
  `&=`
`bitwise_or_assign`
  ``|=
`bitwise_xor_assign`
  `^=`
`subscript`
  ``[]
`if_else`
  Analogous to ``?: .
`call`
  ``()