Argument Validation Policy Concept

An Argument Validation Policy determines which initialization settings an FSM Builder will accept or reject. Without such validation, a random maze built according to a certain maze policy with a certain entrance-exit cell pair and other settings can have either no possible solution or one that is too trivial. The conditions for bringing about these degenerate maze cases are specific to the underlying Pattern, so each FSM Builder may employ its own Argument Validation Policy if necessary.


Notation


Associated Types

None.


Valid Expressions

The following expressions must be valid.
Name Expression Type Requirements Return Type
Validation AVP::areValidArguments(maze_maker, input_maker, policy, p)
  • maze_maker must be a Maze Maker.
  • input_maker must be an FSM Input Maker.
  • If more than one maze policy can be used for maze_maker, then policy must be an instance of one of those policies.
  • p must be an Argument Pack object that the underlying pattern can process.
bool


Expression Semantics

Name Expression Precondition Semantics Postcondition
Validation AVP::areValidArguments(maze_maker, input_maker, policy, p) None beyond those specified for the initialization of the FSM Builder with which this Argument Validation Policy is associated. Returns true if and only if the overlying maze is guaranteed to have a solution path based on the specified arguments, false otherwise.


Models



Multi-State Mazes in C++ is hosted by SourceForge.net. Use the Table of Contents for navigation.