* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/**
+ * Vectors of objects.
+ *
+ * The ec_vec API provide helpers to manipulate vectors of objects
+ * of any kind.
+ */
+
#ifndef ECOLI_VEC_
#define ECOLI_VEC_
/* if NULL, default does nothing */
typedef void (*ec_vec_elt_free_t)(void *ptr);
+
/* if NULL, default is:
* memcpy(dst, src, vec->elt_size)
*/
struct ec_vec *ec_vec_ndup(const struct ec_vec *vec,
size_t off, size_t len);
void ec_vec_free(struct ec_vec *vec);
+
+__attribute__((pure))
size_t ec_vec_len(const struct ec_vec *vec);
#endif