ssize_c

Index Page ssize_c
A B C D E F G H I J K L M N O P Q R S T U V W X
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
       void ssize_c (  SpiceInt      size,
                       SpiceCell   * cell  )
#### Abstract
       Set the size (maximum cardinality) of a CSPICE cell of any data
       type.
#### Required_Reading
       CELLS
#### Keywords
       CELLS
#### Brief_I/O
       VARIABLE  I/O  DESCRIPTION
       --------  ---  --------------------------------------------------
       size       I   Size (maximum cardinality) of the cell.
       cell       O   The cell.
#### Detailed_Input
       size        is the new value of the size (maximum number of
                   elements) of the cell.

                   size must be non-negative and must be no larger than
                   the initial declared size of the cell.

       cell        is a CSPICE cell of any data type.
#### Detailed_Output
       cell        is, on output, the cell with its size updated to
                   the value given by the input argument size.

                   The cardinality of the cell is set to 0.

                   The cell becomes a  CSPICE set:  the cell's "is a set?"
                   attribute becomes true.  The cell then can be used as
                   an input to the CSPICE set routines such as insrt*_c.

                   Unlike the cell "set size" routines in the Fortran
                   SPICE Toolkit's SPICELIB library, this routine does
                   not clear the unused portion of the cell's control
                   area.
#### Parameters
       None.
#### Exceptions
       1) If an attempt is made to set the size of the cell to a negative
          number, the error SPICE(INVALIDSIZE) is signaled.

       2) The size of a cell may not be set to a value larger than the
          original declared size.  However, the CSPICE cell routines
          cannot detect this error.
#### Files
       None.
#### Particulars
       Unlike their counterparts in the Fortran SPICELIB library,
       CSPICE cells are initialized automatically when accessed via
       the CSPICE cell API routines, so there is normally no reason to
       call this routine.

       This routine is provided for the sake of completeness.
#### Examples
       1) Declare an integer cell.  Populate the cell, then reset
          the size to 1/2 the originally declared size, in order
          to inhibit write access to the last portion of the cell.

             #include "SpiceUsr.h"
                   .
                   .
                   .

             #define SIZE          10

             /.
             Declare a cell with room for SIZE integers.
             ./
             SPICEINT_CELL         ( icell, SIZE );
                   .
                   .
                   .
             /.
             Reduce the size of the cell.
             ./
             ssize_c ( SIZE/2, &icell );
#### Restrictions
       See exception #2 in the Exceptions section.
#### Literature_References
       None.
#### Author_and_Institution
       N.J. Bachman    (JPL)
       C.A. Curzon     (JPL)
       W.L. Taber      (JPL)
       I.M. Underwood  (JPL)
#### Version
       -CSPICE Version 1.0.0, 21-AUG-2002 (NJB) (CAC) (WLT) (IMU)
#### Index_Entries
       set the size of a cell
#### Link to routine ssize_c source file ssize_c.c

    Thu Apr 16 08:59:18 2009