char_str_indexer.h 2.17 KB
Newer Older
Celine Mercier's avatar
Celine Mercier committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
/****************************************************************************
 * DNA sequence indexer header file	                                        *
 ****************************************************************************/

/**
 * @file dna_seq_indexer.h
 * @author Celine Mercier
 * @date April 12th 2016
 * @brief Header file for the functions handling the indexing of DNA sequences.
 */


#ifndef CHAR_STR_INDEXER_H_
#define CHAR_STR_INDEXER_H_


#include <stdlib.h>
#include <stdio.h>

#include "obitypes.h"
#include "obiblob.h"
#include "obiblob_indexer.h"


/**
 * @brief Converts a character string to a blob.
 *
 * @warning The blob must be freed by the caller.
 *
 * @param value The character string to convert.
 *
 * @returns A pointer to the blob created.
 * @retval NULL if an error occurred.
 *
 * @since October 2015
 * @author Celine Mercier (celine.mercier@metabarcoding.org)
 */
38
Obi_blob_p obi_str_to_blob(const char* value);
Celine Mercier's avatar
Celine Mercier committed
39 40 41 42 43


/**
 * @brief Converts a blob to a character string.
 *
44 45
 * @warning The character string returned is mapped.
 *
Celine Mercier's avatar
Celine Mercier committed
46 47
 * @param value_b The blob to convert.
 *
48
 * @returns A pointer on the character string contained in the blob.
Celine Mercier's avatar
Celine Mercier committed
49 50 51 52 53 54 55
 *
 * @since October 2015
 * @author Celine Mercier (celine.mercier@metabarcoding.org)
 */
const char* obi_blob_to_str(Obi_blob_p value_b);


56 57 58 59 60 61 62 63 64 65 66
/**
 * @brief Stores a character string in an indexer and returns the index.
 *
 * @param indexer The indexer structure.
 * @param value The character string to index.
 *
 * @returns The index referring to the stored character string in the indexer.
 *
 * @since April 2016
 * @author Celine Mercier (celine.mercier@metabarcoding.org)
 */
Celine Mercier's avatar
Celine Mercier committed
67 68
index_t obi_index_char_str(Obi_indexer_p indexer, const char* value);

69 70 71 72 73 74 75 76 77 78 79 80 81 82

/**
 * @brief Retrieves a character string from an indexer.
 *
 * @warning The character string returned is mapped.
 *
 * @param indexer The indexer structure.
 * @param idx The index referring to the character string to retrieve in the indexer.
 *
 * @returns A pointer on the character string.
 *
 * @since April 2016
 * @author Celine Mercier (celine.mercier@metabarcoding.org)
 */
83
const char* obi_retrieve_char_str(Obi_indexer_p indexer, index_t idx);
Celine Mercier's avatar
Celine Mercier committed
84 85 86 87


#endif /* CHAR_STR_INDEXER_H_ */