/*
* Copyright (C) 2020 Weber Yann
*
* This file is part of pyrpn.
*
* pyrpn is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
* pyrpn is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with pyrpn. If not, see .
*/
#ifndef _PYTHON_CONST_H__
#define _PYTHON_CONST_H__
#include "config.h"
#include
#define PY_SSIZE_T_CLEAN
#include
#include "structmember.h"
#include "rpn_mutate.h"
#include "rpn_if_default.h"
/**@file python_const.h
* @brief Python pyrpn.const module headers
* @ingroup python_ext
* @ingroup pymod_pyrpn_const
*/
/**@defgroup pymod_pyrpn_const module pyrpn.const
* @brief A module containing constant values
*
* Constants values are @ref ifs_if_default_posflag
* and @ref ifs_if_default_resflag
* @ingroup pymod_pyrpn
*/
/**@brief pyrpn.const module specs
* @ingroup pymod_pyrpn */
extern PyModuleDef rpnconstmodule;
/**@defgroup pymod_pyrpn_RPNIterParams pyrpn.RPNIterParams
* @brief namedtuple representing @ref pymod_pyrpn_RPNExprIter parameters
* @ingroup pymod_pyrpn */
/**@brief RPNIterParams named tuple for RPNIterExpr parameters
* @ingroup pymod_pyrpn_RPNIterParams */
extern PyTypeObject rpnif_params_SeqDesc;
/**@brief @ref rpnif_params_SeqDesc named tuple description
* @ingroup pymod_pyrpn_RPNIterParams */
extern PyStructSequence_Desc rpnif_params_desc;
/**@defgroup pymod_pyrpn_RPNTokenTypes pyrpn.RPNTokenTypes
* @brief namedtuple with @ref pymod_pyrpn_token_Token subclass
* @ingroup pymod_pyrpn */
/**@brief RPNTokenTypes named tuple with token types */
extern PyTypeObject rpn_token_types_SeqDesc;
/**@brief @ref rpn_token_types_SeqDesc named tuple description */
extern PyStructSequence_Desc rpn_token_types_desc;
/**@defgroup pymod_pyrpn_RPNMutationParams pyrpn.RPNMutationParams
* @brief namedtuple storing mutation parameters
* @ingroup pymod_pyrpn */
/**@brief RPNMutationParams named tuple with mutation parameters */
extern PyTypeObject rpn_mutation_params_SeqDesc;
/**@brief @ref rpn_mutation_params_SeqDesc named tuple description */
extern PyStructSequence_Desc rpn_mutation_params_desc;
/**@brief Default values for mutations parameters */
extern rpn_mutation_params_t rpn_mutation_params_default;
/**@brief pyrpn.const module initialisation function
* @return The initialized module
* @ingroup pymod_pyrpn */
PyObject *rpnconst_init(void);
#endif