/* * 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