6 n__query_8h
gullradriel edited this page 2026-10-09 00:55:18 +02:00

include/nilorea/n_query.h

Small boolean query language over caller-named fields. More...

Detailed Description

Small boolean query language over caller-named fields.

Author: Castagnier Mickael

Version: 1.0

Source code

/*
 * Nilorea Library
 * Copyright (C) 2005-2026 Castagnier Mickael
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 * implied. See the License for the specific language governing
 * permissions and limitations under the License.
 *
 * SPDX-License-Identifier: Apache-2.0
 */


#ifndef __NILOREA_QUERY_HEADER
#define __NILOREA_QUERY_HEADER

#ifdef __cplusplus
extern "C" {
#endif

#include <stddef.h>


typedef struct N_QUERY N_QUERY;

typedef const char* (*N_QUERY_GET)(const char* field, void* user_data);

N_QUERY* n_query_compile(const char* expr, char* errbuf, size_t errlen);

N_QUERY* n_query_compile_ex(const char* expr, const char* const* fields, size_t nfields, char* errbuf, size_t errlen);

int n_query_eval(const N_QUERY* query, N_QUERY_GET get, void* user_data);

void n_query_free(N_QUERY** query);


#ifdef __cplusplus
}
#endif

/* #ifndef __NILOREA_QUERY_HEADER */
#endif