70#define empty_isect ((intersection_get)(void (*)(void))xt_idxempty_new)
117 INSTR_DEF(instr_fallback,
"xt_idxlist_get_intersection.fallback")
125 if (num_indices_src == 0 || num_indices_dst == 0)
129 if (num_indices_src <= config->idxv_cnv_size
130 && num_indices_dst <= config->idxv_cnv_size) {
132 =
xmalloc(((
size_t)num_indices_src + (
size_t)num_indices_dst)
133 *
sizeof (indices_src[0])),
134 *indices_dst = indices_src + num_indices_src;
149 int num_stripes_src, num_stripes_dst;
150 struct Xt_stripe *stripes_src, *stripes_dst;
add versions of standard API functions not returning on error
const struct xt_idxlist_vtable * vtable
struct Xt_config_ xt_default_config
struct Xt_config_ * Xt_config
implementation of configuration object
base definitions header file
struct Xt_idxlist_ * Xt_idxlist
Xt_idxlist xt_idxempty_new(void)
void xt_idxlist_get_indices(Xt_idxlist idxlist, Xt_int *indices)
void xt_idxlist_get_index_stripes(Xt_idxlist idxlist, struct Xt_stripe **stripes, int *num_stripes)
void xt_idxlist_delete(Xt_idxlist idxlist)
Provide non-public declarations common to all index lists.
PPM_DSO_INTERNAL Xt_idxlist xt_default_isect(Xt_idxlist idxlist_src, Xt_idxlist idxlist_dst, Xt_config config)
#define xt_idxlist_get_num_indices(idxlist)
static const intersection_get intersection_get_matrix[num_idxlist_classes][num_idxlist_classes]
Xt_idxlist xt_default_isect(Xt_idxlist idxlist_src, Xt_idxlist idxlist_dst, Xt_config config)
Xt_idxlist(* intersection_get)(Xt_idxlist idxlist_src, Xt_idxlist idxlist_dst, Xt_config config)
void xt_idxlist_intersection_init(void)
Xt_idxlist xt_idxlist_get_intersection_custom(Xt_idxlist idxlist_src, Xt_idxlist idxlist_dst, Xt_config config)
Xt_idxlist xt_idxlist_get_intersection(Xt_idxlist idxlist_src, Xt_idxlist idxlist_dst)
Xt_idxlist xt_idxsection_get_idxstripes_r_intersection(Xt_idxlist src_idxlist, Xt_idxlist dst_idxlist, Xt_config config)
Xt_idxlist xt_idxsection_get_intersection_with_other_idxlist(Xt_idxlist src_idxsection, Xt_idxlist dst_idxlist, Xt_config config)
Xt_idxlist xt_idxsection_get_idxstripes_intersection(Xt_idxlist src_idxlist, Xt_idxlist dst_idxlist, Xt_config config)
Xt_idxlist xt_idxsection_get_intersection(Xt_idxlist idxlist_src, Xt_idxlist idxlist_dst, Xt_config config)
Xt_idxlist xt_idxstripes_prealloc_new(const struct Xt_stripe *stripes, int num_stripes)
PPM_DSO_INTERNAL Xt_idxlist xt_idxstripes_get_idxvec_intersection(Xt_idxlist idxlist_src, Xt_idxlist idxlist_dst, Xt_config XT_UNUSED(config))
Xt_idxlist xt_idxstripes_get_intersection(Xt_idxlist idxlist_src, Xt_idxlist idxlist_dst, Xt_config config)
Xt_idxlist xt_idxvec_prealloc_new(const Xt_int *idxvec, int num_indices)
Xt_idxlist xt_idxvec_get_intersection(Xt_idxlist idxlist_src, Xt_idxlist idxlist_dst, Xt_config config)
PPM_DSO_INTERNAL Xt_idxlist xt_idxvec_get_idxstripes_intersection(Xt_idxlist idxlist_src, Xt_idxlist idxlist_dst, Xt_config config)