Index of Functions: A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X
scard_c

 Procedure Abstract Required_Reading Keywords Brief_I/O Detailed_Input Detailed_Output Parameters Exceptions Files Particulars Examples Restrictions Literature_References Author_and_Institution Version Index_Entries

#### Procedure

```   scard_c ( Set the cardinality of a cell )

void scard_c (  SpiceInt      card,
SpiceCell   * cell  )

```

#### Abstract

```   Set the cardinality of a SPICE cell of any data type.
```

```   CELLS
```

#### Keywords

```   CELLS

```

#### Brief_I/O

```   VARIABLE  I/O  DESCRIPTION
--------  ---  --------------------------------------------------
card       I   Cardinality of (number of elements in) the cell.
cell       O   The cell.
```

#### Detailed_Input

```   card        is the cardinality of (number of elements in) the cell.
```

#### Detailed_Output

```   cell        is a SpiceCell of any data type. On output, the cardinality of
the cell is `card'. The data portion of the cell is left
unchanged.

If the cardinality is set to zero, the cell becomes a SPICE
set: the cell's "is a set?" attribute becomes true. The cell
then can be used as an input to the SPICE set routines such as
insrtX_c.

`cell' must be declared as a character, double precision or
integer SpiceCell.

CSPICE provides the following macros, which declare and
initialize the cell

SPICECHAR_CELL          ( cell, CELLSZ, CELLMLEN );
SPICEDOUBLE_CELL        ( cell, CELLSZ );
SPICEINT_CELL           ( cell, CELLSZ );

where CELLSZ is the maximum capacity of `cell' and CELLMLEN is
the maximum length of any member in the character cell.
```

#### Parameters

```   None.
```

#### Exceptions

```   1)  If the `cell' cell arguments does not have a recognized data
type, the error SPICE(NOTSUPPORTED) is signaled.

2)  If the cardinality value supplied is less than 0 or greater
than the cell size, the error SPICE(INVALIDCARDINALITY) is
signaled.
```

#### Files

```   None.
```

#### Particulars

```   The set cardinality (scard_c) and set size (ssize_c) routines are
typically used to initialize cells for subsequent use.

The set cardinality routines are also used by library routines which
manipulate cells (including set and window routines) to reset the
cardinalities of cells as they gain or lose elements.
```

#### Examples

```   1) Declare an integer cell. Populate the cell, then reset
the cardinality to zero to effectively make room in the
cell.

#include "SpiceUsr.h"
.
.
.

#define SIZE          10

Spiceint              i;

/.
Declare a cell with room for SIZE integers.
./
SPICEINT_CELL         ( icell, SIZE );

/.
Fill in the cell with integers 0 through 9.
./

for ( i = 0;  i < SIZE;  i++ )
{
appndi_c ( i, &icell );
}
.
.
.
/.
Make room in the cell.
./
scard_c ( 0, &icell );
.
.
.
```

#### Restrictions

```   None.
```

#### Literature_References

```   None.
```

#### Author_and_Institution

```   N.J. Bachman        (JPL)
C.A. Curzon         (JPL)
J. Diaz del Rio     (ODC Space)
W.L. Taber          (JPL)
I.M. Underwood      (JPL)
```

#### Version

```   -CSPICE Version 1.0.1, 24-NOV-2021 (JDR)

Edited the header to comply with NAIF standard.

Extended description of argument "cell" in -Detailed_Output to include
type and preferred declaration method.

Added entry #1 in -Exceptions section.

-CSPICE Version 1.0.0, 21-AUG-2002 (NJB) (CAC) (WLT) (IMU)
```

#### Index_Entries

```   set the cardinality of an integer cell
```
`Fri Dec 31 18:41:11 2021`