.
*/
/** @file
* Byte length calculation routines for atoms/relations.
* Routines provided to fill the byte length field of the type description.
* * When #including atomsize.h, make sure these files are #included first:
* #include "utilities/ascConfig.h"
* #include "instance_enum.h"
* #include "childinfo.h"
*

*/
#ifndef ASC_ATOMSIZE_H
#define ASC_ATOMSIZE_H
/** @addtogroup compiler_inst Compiler Instance Hierarchy
@{
*/
extern unsigned long ConstantByteLength(enum inst_t it);
/**<
* Returns the number of bytes needed for the Constant instance of type it.
*/
extern unsigned long RealAtomByteLength(unsigned long num_children,
CONST struct ChildDesc *c);
/**<
* Given the number of children and descriptions of the children, this
* routine will calculate the number of bytes needed for the instance.
*/
extern unsigned long IntegerAtomByteLength(unsigned long num_children,
CONST struct ChildDesc *c);
/**<
* Given the number of children and descriptions of the children, this
* routine will calculate the number of bytes needed for the instance.
*/
extern unsigned long BooleanAtomByteLength(unsigned long num_children,
CONST struct ChildDesc *c);
/**<
* Given the number of children and descriptions of the children, this
* routine will calculate the number of bytes needed for the instance.
*/
extern unsigned long SetAtomByteLength(unsigned long num_children,
CONST struct ChildDesc *c);
/**<
* Given the number of children and descriptions of the children, this
* routine will calculate the number of bytes needed for the instance.
*/
extern unsigned long SymbolAtomByteLength(unsigned long num_children,
CONST struct ChildDesc *c);
/**<
* Given the number of children and descriptions of the children, this
* routine will calculate the number of bytes needed for the instance.
*/
extern unsigned long RelationAtomByteLength(unsigned long num_children,
CONST struct ChildDesc *c);
/**<
* Given the number of children and descriptions of the children, this
* routine will calculate the number of bytes needed for the instance.
*/
extern unsigned long LogRelAtomByteLength(unsigned long num_children,
CONST struct ChildDesc *c);
/**<
* Given the number of children and descriptions of the children, this
* routine will calculate the number of bytes needed for the instance.
*/
/* @} */
#endif /* ASC_ATOMSIZE_H */