Skip to content

InRangeExpression

class InRangeExpression

Expression representing a check if a value is in a certain range.

DEFINITION
class InRangeExpression;

constructor InRangeExpression

Create an in-range expression.

DEFINITION
InRangeExpression ( const Location & location,
const Expression & lower_bound,
const Expression & upper_bound,
const Expression & argument );
PARAMETERDESCRIPTION
location

The location of the expression in the source code.

lower_bound

The lower bound of the range.

upper_bound

The upper bound of the range.

argument

The value to check.

method collect_objectsconstvirtual

DEFINITION
virtual void  collect_objects ( std::unordered_set< Object * > & objects ) const;
PARAMETERDESCRIPTION
objects

method createstatic

Create an in-range expression from a list of arguments.

DEFINITION
static Expression  create ( const Location & location,
const std::vector< Expression > & arguments );
PARAMETERDESCRIPTION
location

The location of the expression in the source code.

arguments

The list of arguments.

RETURNSDESCRIPTION
Expression

The created expression.

method createstatic

Create an in-range expression from its components.

DEFINITION
static Expression  create ( const Location & location,
const Expression & lower_bound,
const Expression & upper_bound,
const Expression & argument );
PARAMETERDESCRIPTION
location

The location of the expression in the source code.

lower_bound

The lower bound of the range.

upper_bound

The upper bound of the range.

argument

The value to check.

RETURNSDESCRIPTION
Expression

The created expression.

method evaluatedconstvirtual

DEFINITION
virtual std::optional< Expression >  evaluated ( const EvaluationContext & context ) const;
PARAMETERDESCRIPTION
context
RETURNSDESCRIPTION
std::optional< Expression >

method maximum_valueconstvirtual

Get the maximum possible value of the expression if it can be determined.

DEFINITION
virtual std::optional< Value >  maximum_value ( ) const;
RETURNSDESCRIPTION
std::optional< Value >

The maximum possible value of the expression.

method minimum_valueconstvirtual

Get the minimum possible value of the expression if it can be determined.

DEFINITION
virtual std::optional< Value >  minimum_value ( ) const;
RETURNSDESCRIPTION
std::optional< Value >

The minimum possible value of the expression.

method serialize_subconstvirtual

Serialize the expression to a stream.

This method must be implemented by derived classes.

DEFINITION
virtual void  serialize_sub ( std::ostream & stream ) const;
PARAMETERDESCRIPTION
stream

The stream to serialize to.

method typeconstvirtual

Get the type of the expression's value if it can be determined.

DEFINITION
virtual std::optional< Value::Type >  type ( ) const;
RETURNSDESCRIPTION
std::optional< Value::Type >

The type of the expression's value.