Kea 2.7.6
isc::dhcp::TokenConcat Class Reference

Token that represents concat operator (concatenates two other tokens) More...

#include <token.h>

+ Inheritance diagram for isc::dhcp::TokenConcat:

Public Member Functions

 TokenConcat ()
 Constructor (does nothing)
 
virtual unsigned evaluate (Pkt &pkt, ValueStack &values)
 Concatenate two values.
 
- 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 concat operator (concatenates two other tokens)

For example in the sub-expression "concat('foo','bar')" the result of the evaluation is "foobar" For user convenience the "'foo' + 'bar'" alternative does the same.

Definition at line 913 of file token.h.

Constructor & Destructor Documentation

◆ TokenConcat()

isc::dhcp::TokenConcat::TokenConcat ( )
inline

Constructor (does nothing)

Definition at line 916 of file token.h.

Member Function Documentation

◆ evaluate()

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

Concatenate two values.

Evaluation does not use packet information, but rather consumes the last two parameters. It does a simple string concatenation. It requires at least two parameters to be present on stack.

Exceptions
EvalBadStackif there are less than 2 values on stack
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 964 of file token.cc.

References isc::dhcp::EVAL_DBG_STACK, isc::dhcp::EVAL_DEBUG_CONCAT, isc::dhcp::eval_logger, isc::dhcp::Pkt::getLabel(), isc_throw, and LOG_DEBUG.

+ Here is the call graph for this function:

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