www.mooseframework.org
Public Types | Public Member Functions | Public Attributes | Protected Attributes | List of all members
ExpressionBuilder::EBUnaryFuncTermNode Class Reference

Node representing a function with two arguments. More...

#include <ExpressionBuilder.h>

Inheritance diagram for ExpressionBuilder::EBUnaryFuncTermNode:
[legend]

Public Types

enum  NodeType {
  SIN, COS, TAN, ABS,
  LOG, LOG2, LOG10, EXP,
  SINH, COSH
}
 

Public Member Functions

 EBUnaryFuncTermNode (EBTermNode *subnode, NodeType type)
 
virtual EBUnaryFuncTermNodeclone () const
 
virtual std::string stringify () const
 
virtual int precedence () const
 
virtual unsigned int substitute (const EBSubstitutionRuleList &rule)
 
const EBTermNodegetSubnode () const
 

Public Attributes

enum ExpressionBuilder::EBUnaryFuncTermNode::NodeType _type
 

Protected Attributes

EBTermNode_subnode
 

Detailed Description

Node representing a function with two arguments.

Definition at line 135 of file ExpressionBuilder.h.

Member Enumeration Documentation

◆ NodeType

Enumerator
SIN 
COS 
TAN 
ABS 
LOG 
LOG2 
LOG10 
EXP 
SINH 
COSH 

Definition at line 138 of file ExpressionBuilder.h.

139  {
140  SIN,
141  COS,
142  TAN,
143  ABS,
144  LOG,
145  LOG2,
146  LOG10,
147  EXP,
148  SINH,
149  COSH
150  } _type;

Constructor & Destructor Documentation

◆ EBUnaryFuncTermNode()

ExpressionBuilder::EBUnaryFuncTermNode::EBUnaryFuncTermNode ( EBTermNode subnode,
NodeType  type 
)
inline

Definition at line 152 of file ExpressionBuilder.h.

153  : EBUnaryTermNode(subnode), _type(type){};

Member Function Documentation

◆ clone()

virtual EBUnaryFuncTermNode* ExpressionBuilder::EBUnaryFuncTermNode::clone ( ) const
inlinevirtual

Implements ExpressionBuilder::EBTermNode.

Definition at line 154 of file ExpressionBuilder.h.

155  {
156  return new EBUnaryFuncTermNode(_subnode->clone(), _type);
157  };

◆ getSubnode()

const EBTermNode* ExpressionBuilder::EBUnaryTermNode::getSubnode ( ) const
inlineinherited

Definition at line 128 of file ExpressionBuilder.h.

128 { return _subnode; }

Referenced by ExpressionBuilder::EBLogPlogSubstitution::substitute().

◆ precedence()

virtual int ExpressionBuilder::EBUnaryFuncTermNode::precedence ( ) const
inlinevirtual

Implements ExpressionBuilder::EBTermNode.

Definition at line 160 of file ExpressionBuilder.h.

160 { return 2; }

◆ stringify()

std::string ExpressionBuilder::EBUnaryFuncTermNode::stringify ( ) const
virtual

Implements ExpressionBuilder::EBTermNode.

Definition at line 58 of file ExpressionBuilder.C.

59 {
60  const char * name[] = {"sin", "cos", "tan", "abs", "log", "log2", "log10", "exp", "sinh", "cosh"};
61  std::ostringstream s;
62  s << name[_type] << '(' << *_subnode << ')';
63  return s.str();
64 }

◆ substitute()

virtual unsigned int ExpressionBuilder::EBUnaryTermNode::substitute ( const EBSubstitutionRuleList rule)
virtualinherited

Reimplemented from ExpressionBuilder::EBTermNode.

Member Data Documentation

◆ _subnode

EBTermNode* ExpressionBuilder::EBUnaryTermNode::_subnode
protectedinherited

Definition at line 131 of file ExpressionBuilder.h.

◆ _type

enum ExpressionBuilder::EBUnaryFuncTermNode::NodeType ExpressionBuilder::EBUnaryFuncTermNode::_type

The documentation for this class was generated from the following files:
ExpressionBuilder::EBUnaryFuncTermNode::SIN
Definition: ExpressionBuilder.h:140
ExpressionBuilder::EBUnaryFuncTermNode::COSH
Definition: ExpressionBuilder.h:149
ExpressionBuilder::EBUnaryFuncTermNode::COS
Definition: ExpressionBuilder.h:141
ExpressionBuilder::EBUnaryTermNode::EBUnaryTermNode
EBUnaryTermNode(EBTermNode *subnode)
Definition: ExpressionBuilder.h:124
ExpressionBuilder::EBUnaryFuncTermNode::LOG10
Definition: ExpressionBuilder.h:146
ExpressionBuilder::EBUnaryFuncTermNode::LOG
Definition: ExpressionBuilder.h:144
ExpressionBuilder::EBUnaryFuncTermNode::EXP
Definition: ExpressionBuilder.h:147
ExpressionBuilder::EBUnaryFuncTermNode::TAN
Definition: ExpressionBuilder.h:142
ExpressionBuilder::EBUnaryFuncTermNode::_type
enum ExpressionBuilder::EBUnaryFuncTermNode::NodeType _type
ExpressionBuilder::EBUnaryFuncTermNode::ABS
Definition: ExpressionBuilder.h:143
ExpressionBuilder::EBTermNode::clone
virtual EBTermNode * clone() const =0
ExpressionBuilder::EBUnaryFuncTermNode::SINH
Definition: ExpressionBuilder.h:148
name
const std::string name
Definition: Setup.h:21
ExpressionBuilder::EBUnaryFuncTermNode::LOG2
Definition: ExpressionBuilder.h:145
ExpressionBuilder::EBUnaryTermNode::_subnode
EBTermNode * _subnode
Definition: ExpressionBuilder.h:131
ExpressionBuilder::EBUnaryFuncTermNode::EBUnaryFuncTermNode
EBUnaryFuncTermNode(EBTermNode *subnode, NodeType type)
Definition: ExpressionBuilder.h:152