9#ifndef __YTLIB_INT_ARRAY_H 
   10#define __YTLIB_INT_ARRAY_H 
   15#include "lang/ytObject.h" 
   17#define ytIntArray_ERROR_VALUE ((size_t) -1) 
   25typedef struct ytIntArray_t {
 
   34#define ytIntArray_new() ytIntArray_newm(__FILE__,__LINE__) 
   35ytIntArray * ytIntArray_newm(
const char * file, 
int line);
 
   40void ytIntArray_deletev(
void * 
this);
 
   42void ytIntArray_deleteAllv(
void * 
this);
 
   46void ytIntArray_arrayDelete(
ytIntArray * 
this, 
size_t size);
 
   47void ytIntArray_dump(
const ytIntArray * 
this, FILE * fp);
 
   48void ytIntArray_dumpv(
const ytObject * 
this, FILE * fp);
 
   49size_t ytIntArray_size(
const ytIntArray * 
this);
 
   50size_t ytIntArray_buffSize(
const ytIntArray * 
this);
 
   51size_t ytIntArray_memSize(
const ytIntArray * 
this);
 
   52size_t ytIntArray_arrayMemSize(
const ytIntArray * 
this, 
size_t n);
 
   55void ytIntArray_add(
ytIntArray * 
this, 
int value);
 
   57void ytIntArray_set(
ytIntArray * 
this, 
size_t index, 
int value);
 
   58void ytIntArray_setSize(
ytIntArray * 
this, 
size_t size);
 
   59void ytIntArray_insert(
ytIntArray * 
this, 
size_t index, 
int value);
 
   60int ytIntArray_remove(
ytIntArray * 
this, 
size_t index);
 
   62void ytIntArray_copyArray(
ytIntArray * 
this, 
size_t index, 
const int * array, 
size_t size);
 
   63int ytIntArray_get(
const ytIntArray * 
this, 
size_t index);
 
   67size_t ytIntArray_find(
const ytIntArray * 
this, 
const int v);
 
   68void ytIntArray_print(
const ytIntArray * 
this, FILE * fp, 
char * delim);
 
   69int ytIntArray_sprint(
const ytIntArray * 
this, 
char * buff, 
size_t size, 
char * delim);
 
   74size_t ytIntArray_memorySize(
const ytIntArray * 
this);
 
   75size_t ytIntArray_memorySizeI(
const ytObject * 
this);
 
   76ytByte * ytIntArray_serializeI(
const ytObject * obj, ytByte ** pptr);
 
   77ytByte * ytIntArray_serialize(
const ytIntArray * 
this, ytByte ** pptr);
 
   78ytIntArray * ytIntArray_deserialize(ytByte ** 
const pptr);
 
   79ytObject * ytIntArray_deserializeI(ytByte ** 
const ptr);
 
   82void ytIntArray_MPI_Bcast(
ytIntArray ** pObj, 
int root, MPI_Comm comm);
 
   83void ytIntArray_MPI_BcastI(
ytObject ** pObject, 
int root, MPI_Comm comm);