| Home | Libraries | People | FAQ | More

##### UnaryLexer

###### Description

UnaryLexer is a composite lexer component that has a single subject. The UnaryLexer may change the behavior of its subject following the Delegate Design Pattern.

###### Refinement of

> `Lexer`

Notation

`l`

  A UnaryLexer.

`L`

  A UnaryLexer type.

###### Valid Expressions

In addition to the requirements defined in `Lexer`, for any UnaryLexer the following must be met:

Expression | Semantics | Return type
--- | --- | ---
`l.subject` | Subject lexer component. | `Lexer`

###### Type Expressions

Expression | Description
--- | ---
`L::subject_type` | The subject lexer component type.
`traits::is_unary_lexer<L>::type` | Metafunction that evaluates to `mpl::true_` if a certain type, `L` is a UnaryLexer, `mpl::false_` otherwise (See MPL Boolean Constant).

###### Invariants

For any UnaryLexer, `L`, the following invariant always holds:

- `traits::is_lexer<L::subject_type>::type` evaluates to `mpl::true_`

###### Models

The following lexer components conform to this model:

- action lexer component (allowing to attach semantic actions)

FIXME Add more links to models of UnaryLexer concept