Skip to content
Authors

File prod_weighted.h

File List > prod_weighted > src > prod_weighted.h

Go to the documentation of this file

#ifndef PROD_WEIGHTED_H
#define PROD_WEIGHTED_H

/*************************************************************************************************/
/*************************** Includes ************************************************************/
/*************************************************************************************************/

#include <stddef.h>
#include <stdint.h>

/*************************************************************************************************/
/*************************** Defines *************************************************************/
/*************************************************************************************************/

#define PROD_WEIGHTED_NAME    ("weighted")

/*************************************************************************************************/
/*************************** Typedefs ************************************************************/
/*************************************************************************************************/

#ifdef __cplusplus
extern "C"
{
#endif

typedef struct {
    char *   string; 
    uint64_t weight; 
} prod_weighted_pair_t;

typedef struct {
    prod_weighted_pair_t *repl_list; 
    size_t                repl_len;  
    prod_weighted_pair_t *term_list; 
    size_t                term_len;  
} prod_weighted_config_t;


#ifdef __cplusplus
}
#endif
/*************************************************************************************************/
/*************************** Public Function Declarations ****************************************/
/*************************************************************************************************/

#ifdef __cplusplus
extern "C"
{
#endif


const char * prod_weighted_resolve(const void *config);

const char * prod_weighted_terminate(const void *config);

#ifdef __cplusplus
}
#endif


#endif /* end PROD_WEIGHTED_H*/