Source code for elos/processfilter/builder.h
// SPDX-License-Identifier: MIT
#pragma once
#include "elos/processfilter/processfilter.h"
#include "elos/processfilter/step_types.h"
#include "elos/rpnfilter/builder.h"
#define elosProcessFilterBuilderNew elosRpnFilterBuilderNew
#define elosProcessFilterBuilderDelete elosRpnFilterBuilderDelete
typedef enum elosProcessFilterBuilderTokenTypeE {
PROCESSFILTER_TOKEN_PROCESS = RPNFILTER_TOKEN_TYPE_COUNT,
PROCESSFILTER_TOKEN_TYPE_COUNT,
} elosProcessFilterBuilderTokenTypeE_t;
elosRpnFilterResultE_t elosProcessFilterBuilderCompileToken(elosRpnFilterBuilderTokenEntry_t const *token,
elosRpnFilterBuilder_t *data);
elosRpnFilterResultE_t elosProcessFilterBuilderTokenize(elosRpnFilterBuilder_t *data);
[docs]/*******************************************************************
* Function: elosProcessFilterBuilderCompile
*------------------------------------------------------------------
* Description: Converts tokens into fast to use instructions that
* are validated by elosProcessFilterBuilderFinalize()
* used later by elosProcessFilterExecute().
* Info: Used internally by elosProcessFilterCreate(),
* shouldn't be called directly in normal use cases.
*
* Input: Pointer to existing elosRpnFilterBuilder_t
*
* Return: - FILTER_RESULT_OK on success,
* - FILTER_RESULT_ERROR on failure.
******************************************************************/
elosRpnFilterResultE_t elosProcessFilterBuilderCompile(elosRpnFilterBuilder_t *data);
[docs]/*******************************************************************
* Function: elosProcessFilterBuilderFinalize
*------------------------------------------------------------------
* Description: Checks the results from elosProcessFilterBuilderCompile()
* for errors and copies the results into a
* elosRpnFilter_t structure that can be used
* by elosProcessFilterExecute().
* Info: Used internally by elosProcessFilterCreate(),
* shouldn't be called directly in normal use cases.
*
* Input: Pointers to existing elosRpnFilterBuilder_t
* and elosRpnFilter_t structures.
* Return: - FILTER_RESULT_OK on success,
* - FILTER_RESULT_ERROR on failure.
******************************************************************/
elosRpnFilterResultE_t elosProcessFilterBuilderFinalize(elosRpnFilterBuilder_t *data, elosRpnFilter_t *filter);