![]() |
Kea 3.0.0
|
Token that represents pop or branch if true. More...
#include <token.h>
Public Member Functions | |
| TokenPopOrBranchTrue (const unsigned target) | |
| Constructor. | |
| virtual unsigned | evaluate (Pkt &pkt, ValueStack &values) |
| Looks at the top of stack which must be "false" or "true". | |
| Public Member Functions inherited from isc::dhcp::TokenBranch | |
| TokenBranch (const unsigned target) | |
| Constructor. | |
| unsigned | getTarget () const |
| Returns branchtarget. | |
| 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. | |
| Protected Attributes inherited from isc::dhcp::TokenBranch | |
| unsigned | target_ |
Token that represents pop or branch if true.
Branch to a forward target when the top value is true else pop it. Can be used to implement the left "or" boolean operator.
| TokenPopOrBranchTrue::TokenPopOrBranchTrue | ( | const unsigned | target | ) |
Constructor.
| target | the label to branch to |
| EvalParseError | when target is 0 |
Definition at line 1533 of file token.cc.
References isc::dhcp::TokenBranch::TokenBranch().
|
virtual |
Looks at the top of stack which must be "false" or "true".
On "false" pops it and returns 0, on "true" return the branch target.
| pkt | (unused) |
| values | - stack of values (use/pop boolean top of stack) |
| EvalBadStack | if there are less than 1 value on stack |
| EvalTypeError | if the top value on the stack is not either "true" or "false" |
Reimplemented from isc::dhcp::TokenBranch.
Definition at line 1538 of file token.cc.
References isc::dhcp::EVAL_DBG_STACK, isc::dhcp::EVAL_DEBUG_POP_OR_BRANCH_TRUE, isc::dhcp::eval_logger, isc_throw, LOG_DEBUG, isc::dhcp::TokenBranch::target_, and isc::dhcp::Token::toBool().