GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  LIBOWFAT_ARRAY (3)

NAME

array - The array library interface

CONTENTS

Syntax
Description

SYNTAX

#include <array.h>

DESCRIPTION

An allocated array variable keeps track of

o a (nonzero) pointer to a dynamically allocated region of memory;
o the number of bytes allocated (always positive); and
o the number of bytes initialized (between 0 and the number of bytes allocated).

There are two other possibilities for the state of an array variable: unallocated and failed. In both cases, there is no dynamically allocated region of memory.

A new array variable is normally created as a static variable:

#include "array.h"

static array x;

At this point it is unallocated. The array library provides various allocation and inspection functions.

A new array variable can also be created dynamically. It must be initialized to all-0, meaning unallocated, before it is given to any of the array functions. It must be returned to the unallocated (or failed) state, for example with array_reset, before it is destroyed. These rules prevent all memory leaks.

Expansion and inspection

array x;

t* p1 = array_allocate(&x,sizeof(t),pos);

t* p2 = array_get(&x,sizeof(t),pos);

t* p3 = array_start(&x);

int64 len = array_length(&x,sizeof(t));

int64 bytes = array_bytes(&x);

Truncation and deallocation

array x;

array_truncate(&x,sizeof(t),len);

array_trunc(&x);

array_reset(&x);

array_fail(&x);

Comparison

array x;
array y;

if (array_equal(&x,&y))
/* arrays are equal... */

Concatenation

array x;
array y;

array_cat(&x,&y);

array_catb(&x,"fnord",5);

array_cats(&x,"fnord");

array_cats0(&x,"fnord"); /* also append the \0 */

array_cat0(&x); /* append \0 */

array_cate(&x,"fnord",1,4); /* append "nor" */

ORIGINAL API DEFINITION

http://cr.yp.to/lib/array.html

SEE ALSO

array_get(3), array_start(3), array_fail(3)
Search for    or go to Top of page |  Section 3 |  Main Index


ARRAY (3) -->

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.