/* Autogenerated with DRAKON Editor 1.23 */
#ifndef PEERARROW_H62432
#define PEERARROW_H62432

#include "lib.h"

typedef struct peerarrow peerarrow;
typedef struct employee employee;
typedef int (*employee_fun)(employee* item, void* user_data /* null */);
typedef struct department department;
typedef int (*department_fun)(department* item, void* user_data /* null */);


peerarrow* /* own */
peerarrow_create(void);


void
peerarrow_destroy(peerarrow* me /* own. null */);


int
peerarrow_error(const peerarrow* db);


int
employee_id(const employee* me);


employee* /* null */
peerarrow_get_employee(peerarrow* db,
    int rec_id);


const string8* /* null */
employee_cget_name(const employee* me);


department* /* null */
employee_department(employee* me);


int
peerarrow_set_employee_name(peerarrow* db,
    employee* _record_,
    string8* new_value /* own. null */);


int
peerarrow_set_employee_department(peerarrow* db,
    employee* _record_,
    department* new_value /* null */);


employee* /* null */
peerarrow_insert_employee(peerarrow* db,
    string8* name /* own. null */,
    int birthday);


int
peerarrow_delete_employee(peerarrow* db,
    employee* record /* null */);


int
peerarrow_employee_count(const peerarrow* db);


int
peerarrow_foreach_employee(peerarrow* db,
    employee_fun visitor,
    void* user_data /* null */);


employee* /* null */
peerarrow_employee_by_name_birthday(peerarrow* db,
    const string8* name /* null */,
    int birthday);


int
department_id(const department* me);


department* /* null */
peerarrow_get_department(peerarrow* db,
    int rec_id);


const string8* /* null */
department_cget_title(const department* me);


department* /* null */
peerarrow_insert_department(peerarrow* db,
    string8* title /* own. null */);


int
peerarrow_delete_department(peerarrow* db,
    department* record /* null */);


int
peerarrow_department_count(const peerarrow* db);


int
peerarrow_foreach_department(peerarrow* db,
    department_fun visitor,
    void* user_data /* null */);


department* /* null */
peerarrow_department_by_title(peerarrow* db,
    const string8* title /* null */);






int main(
    int argc,
    char** argv
);


#endif

