Kea: isc::dhcp::TokenOr Class Reference

| Kea 3.2.0-git

isc::dhcp::TokenOr Class Reference

Token that represents logical or operator. More...

`#include <token.h>`

Inheritance diagram for isc::dhcp::TokenOr:
[legend]

## Public Member Functions
| TokenOr ()
| Constructor (does nothing).
virtual unsigned | evaluate (Pkt &pkt, ValueStack &values)
| Logical or.
Public Member Functions inherited from isc::dhcp::Token
virtual | ~Token ()
| Virtual destructor.
virtual unsigned | getLabel () const
| Return the label of this token.

## Additional Inherited Members
Static Public Member Functions inherited from isc::dhcp::Token
static bool | toBool (std::string value)
| Coverts a (string) value to a boolean.

## Detailed Description

Token that represents logical or operator.

Note
  Strict version i.e. evaluating right branch even left is right

For example "option[10].exists or option[11].exists"

Definition at line 1064 of file token.h.

## Constructor & Destructor Documentation

## ◆ TokenOr()

isc::dhcp::TokenOr::TokenOr | ( |  | ) |
| inline

Constructor (does nothing).

Definition at line 1067 of file token.h.

## Member Function Documentation

## ◆ evaluate()

unsigned TokenOr::evaluate | ( | Pkt & | pkt,
|  | ValueStack & | values )
| virtual

Logical or.

Evaluation does not use packet information, but rather consumes the last two parameters. It returns "false" if and only if both are "false". It requires at least two logical (i.e., "true" or "false') values present on stack. @throw EvalBadStack if there are less than 2 values on stack @throw EvalTypeError if one of the 2 values on stack is not "true" or "false"

Parameters

  pkt | (unused)
  values | - stack of values (2 arguments will be popped, 1 result will be pushed)

Returns
  0 which means evaluate next token if any.

Implements isc::dhcp::Token.

Definition at line 1119 of file token.cc.

References isc::dhcp::EVAL_DBG_STACK, isc::dhcp::EVAL_DEBUG_OR, isc::dhcp::eval_logger, isc::dhcp::Pkt::getLabel(), isc_throw, LOG_DEBUG, and isc::dhcp::Token::toBool().

Here is the call graph for this function:

The documentation for this class was generated from the following files:

- token.h
- token.cc