Index Page size_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

       SpiceInt size_c ( SpiceCell  * cell )

#### Abstract

       Return the size (maximum cardinality) of a SPICE cell of any
       data type.

#### Required_Reading

       CELLS

#### Keywords

       CELLS

#### Brief_I/O

       VARIABLE  I/O  DESCRIPTION
       --------  ---  --------------------------------------------------
       cell       I   Input cell.

       The function returns the size of the input cell.

#### Detailed_Input

        cell        is a CSPICE cell of any data type.  Cell must be
                    declared as a character, double precision, or
                    integer SpiceCell.

#### Detailed_Output

       The function returns the size of (maximum number of elements in)
       the input cell.

#### Parameters

       None.

#### Exceptions

       1)  If the input array has invalid cardinality, the error
           SPICE(INVALIDCARDINALITY) is signaled.  size_c returns
           an unspecified value in this case.

       2)  If the input array has invalid size, the error
           SPICE(INVALIDSIZE) is signaled.  size_c returns
           an unspecified value in this case.

#### Files

       None.

#### Particulars

       None.

#### Examples

       The size_c function is typically used in conjunction
       with the card_c function to predict (and subsequently
       avoid) overflows when manipulating cells. In the following
       example, size_c is used to determine whether the integer cell
       original can be safely copied into the integer cell save before
       actually attempting the operation. (If original contains more
       elements than save is capable of holding, then the operation
       will fail.)

          #include "SpiceUsr.h"
               .
               .
               .
          /.
          Declare the cells original and save with string length
          LNSIZE and maximum  number of strings SIZE1 and SIZE2
          respectively.
          ./
          SPICECHAR_CELL ( original, SIZE1, LNSIZE );
          SPICECHAR_CELL ( save,     SIZE2, LNSIZE );
               .
               .
               .
          if ( card_c(&original) <= size_c(&save) )
          {
             copy_c ( &original, &save );
          }
          else
          {
             [ Handle overflow case ]
               .
               .
               .
          }

#### Restrictions

       None.

#### Literature_References

       None.

#### Author_and_Institution

       N.J. Bachman    (JPL)
       C.A. Curzon     (JPL)
       H.A. Neilan     (JPL)
       W.L. Taber      (JPL)
       I.M. Underwood  (JPL)

#### Version

       -CSPICE Version 1.0.0, 06-AUG-2002 (NJB) (CAC) (HAN) (WLT) (IMU)

#### Index_Entries

       size of a cell

#### Link to routine size_c source file size_c.c

    Wed Apr  5 17:54:43 2017