FLImaging 6.5.8.1
ExpressionParser.h
1#pragma once
2
133#include "FLArray.h"
134#include "FLString.h"
135
136#include <functional>
137
139namespace FLImaging
140{
142 namespace Base
143 {
144 class CInternalExpressionParser;
145
275 class FL_EXPORT CExpressionParser : public CFLBase
276 {
277 public:
286
297
308
317
328
336 void Clear();
337
351 const CResult Assign(const CExpressionParser& parser);
352
366 const CResult Assign(const CExpressionParser* pParser);
367
383 const CResult GetExpression(CFLString<wchar_t>& strExpression) const;
384
400 const CResult GetExpression(CFLString<wchar_t>* pStrExpression) const;
401
417 const CResult SetExpression(const CFLString<wchar_t>& strExpression);
418
434 const CResult SetExpression(const CFLString<wchar_t>* pStrExpression);
435
447 const CResult Parse();
448
458 int64_t GetVariableCount() const;
459
477 const CResult GetVariableName(int64_t i64Index, CFLString<wchar_t>& strVariableName) const;
478
496 const CResult GetVariableName(int64_t i64Index, CFLString<wchar_t>* pStrVariableName) const;
497
513 const CResult GetVariableValue(int64_t i64Index, double& f64VariableValue) const;
514
530 const CResult GetVariableValue(int64_t i64Index, double* pF64VariableValue) const;
531
549 const CResult GetVariableString(int64_t i64Index, CFLString<wchar_t>& strVariableString) const;
550
568 const CResult GetVariableString(int64_t i64Index, CFLString<wchar_t>* pStrVariableString) const;
569
585 const CResult SetVariableValue(int64_t i64Index, double f64VariableValue);
586
604 const CResult SetVariableString(int64_t i64Index, const CFLString<wchar_t>& strVariableString);
605
606
620 const CResult Evaluate(double& f64Result) const;
621
635 const CResult Evaluate(double* pF64Result) const;
636
637
655 const CResult GetPostfix(CFLArray<CFLString<wchar_t>>& flaStrPostfix) const;
656
674 const CResult GetPostfix(CFLArray<CFLString<wchar_t>>* pFlaStrPostfix) const;
675
676
693
711 const CResult AddUserDefinedFunction(const CFLString<wchar_t>& strFunctionName, std::function<const CResult(const CFLString<wchar_t>&, double&)> lmdFunctionImplement);
712
713
714 DeclareGetClassType();
715
716 private:
717
718 CFLString<wchar_t> m_strExpression;
719
720 CInternalExpressionParser* m_pInternal;
721 friend class CInternalExpressionParser;
722 };
723 }
724}
식 분석기
Definition ExpressionParser.h:276
const CResult Parse()
입력된 식을 분석
const CResult Assign(const CExpressionParser &parser)
다른 객체의 내용을 현재 객체에 할당
const CResult GetVariableString(int64_t i64Index, CFLString< wchar_t > &strVariableString) const
인덱스 별 설정된 변수의 값을 얻어온다
const CResult GetVariableName(int64_t i64Index, CFLString< wchar_t > *pStrVariableName) const
인덱스 별 변수 명을 얻어온다
const CResult GetLastErrorSymbol(CFLString< wchar_t > &strErrorSymbol)
처리중 오류가 발생한 Symbol을 얻어 옵니다.
const CResult SetExpression(const CFLString< wchar_t > *pStrExpression)
식 입력
const CResult SetVariableValue(int64_t i64Index, double f64VariableValue)
인덱스 별 변수의 값을 부동소수점으로 설정한다
const CResult Evaluate(double &f64Result) const
최종 변수 값을 확정 후 식을 평가
const CResult GetExpression(CFLString< wchar_t > &strExpression) const
입력된 식을 얻어온다
void Clear()
객체의 내용을 초기화
const CExpressionParser & operator=(const CExpressionParser &parser)
대입 연산자
const CResult GetPostfix(CFLArray< CFLString< wchar_t > > &flaStrPostfix) const
후위 표기 식을 얻는다. 변수 값을 확정하지 않아도 사용 가능.
const CResult Evaluate(double *pF64Result) const
최종 변수 값을 확정 후 식을 평가
const CResult GetVariableValue(int64_t i64Index, double &f64VariableValue) const
인덱스 별 설정된 변수의 값을 얻어온다
const CResult SetExpression(const CFLString< wchar_t > &strExpression)
식 입력
const CResult GetVariableName(int64_t i64Index, CFLString< wchar_t > &strVariableName) const
인덱스 별 변수 명을 얻어온다
const CResult AddUserDefinedFunction(const CFLString< wchar_t > &strFunctionName, std::function< const CResult(const CFLString< wchar_t > &, double &)> lmdFunctionImplement)
사용자 정의 함수를 추가합니다.
CExpressionParser(const CExpressionParser &parser)
복사 생성자
const CResult SetVariableString(int64_t i64Index, const CFLString< wchar_t > &strVariableString)
인덱스 별 변수의 값을 문자열로 설정한다
const CResult GetPostfix(CFLArray< CFLString< wchar_t > > *pFlaStrPostfix) const
후위 표기 식을 얻는다. 변수 값을 확정하지 않아도 사용 가능.
CExpressionParser(const CExpressionParser *pParser)
복사 생성자
const CResult Assign(const CExpressionParser *pParser)
다른 객체의 내용을 현재 객체에 할당
const CResult GetExpression(CFLString< wchar_t > *pStrExpression) const
입력된 식을 얻어온다
const CResult GetVariableValue(int64_t i64Index, double *pF64VariableValue) const
인덱스 별 설정된 변수의 값을 얻어온다
virtual ~CExpressionParser()
소멸자
int64_t GetVariableCount() const
분석된 식에서 변수의 개수를 반환
const CResult GetVariableString(int64_t i64Index, CFLString< wchar_t > *pStrVariableString) const
인덱스 별 설정된 변수의 값을 얻어온다
Template type 의 배열 클래스.
Definition RangeTree.h:19
FLImaging의 최상위 기저 클래스
Definition FLBase.h:36
Template type 의 문자열 클래스
Definition INIUtilities.h:20
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1514