//
//  MPParenthesisFunction.h
//  MathKit
//
//  Created by Kim Wittenburg on 17.09.14.
//  Copyright (c) 2014 Kim Wittenburg. All rights reserved.
//

#import "MPFunction.h"


/*!
 @header
 This file contains the <code>MPParenthesisFunction</code> class.
 */



@class MPParenthesisFunction, MPExpression;


/*!
    @class      MPParenthesisFunction
    @abstract   A parenthesis function encapsulates a single expression and thus
                prioritizes it in evaluation.
 
    @discussion Prioritizing the expression means that the complete expression
                must be evaluated <i>as is</i>. No part of it can be <i>used</i>
                elsewhere before the parenthesis function has been evaluated.
 */
@interface MPParenthesisFunction : MPFunction

/*!
    @property   expression
    @abstract   The expression encapsulated by the parenthesis.
 
    @discussion The expression must not define a variable.
 */
@property (nonatomic, strong) MPExpression *expression; /* Index 0 */

@end
