⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 constrnt.h

📁 clips源代码
💻 H
字号:
   /*******************************************************/   /*      "C" Language Integrated Production System      */   /*                                                     */   /*             CLIPS Version 6.24  07/01/05            */   /*                                                     */   /*                CONSTRAINT HEADER FILE               */   /*******************************************************//*************************************************************//* Purpose: Provides functions for creating and removing     *//*   constraint records, adding them to the contraint hash   *//*   table, and enabling and disabling static and dynamic    *//*   constraint checking.                                    *//*                                                           *//* Principal Programmer(s):                                  *//*      Gary D. Riley                                        *//*                                                           *//* Contributing Programmer(s):                               *//*                                                           *//* Revision History:                                         *//*      6.24: Added allowed-classes slot facet.              *//*                                                           *//*            Renamed BOOLEAN macro type to intBool.         *//*                                                           *//*************************************************************/#ifndef _H_constrnt#define _H_constrntstruct constraintRecord;#ifndef _H_evaluatn#include "evaluatn.h"#endif#ifdef LOCALE#undef LOCALE#endif#ifdef _CONSTRNT_SOURCE_#define LOCALE#else#define LOCALE extern#endifstruct constraintRecord  {   unsigned int anyAllowed : 1;   unsigned int symbolsAllowed : 1;   unsigned int stringsAllowed : 1;   unsigned int floatsAllowed : 1;   unsigned int integersAllowed : 1;   unsigned int instanceNamesAllowed : 1;   unsigned int instanceAddressesAllowed : 1;   unsigned int externalAddressesAllowed : 1;   unsigned int factAddressesAllowed : 1;   unsigned int voidAllowed : 1;   unsigned int anyRestriction : 1;   unsigned int symbolRestriction : 1;   unsigned int stringRestriction : 1;   unsigned int floatRestriction : 1;   unsigned int integerRestriction : 1;   unsigned int classRestriction : 1;   unsigned int instanceNameRestriction : 1;   unsigned int multifieldsAllowed : 1;   unsigned int singlefieldsAllowed : 1;   unsigned short bsaveIndex;   struct expr *classList;   struct expr *restrictionList;   struct expr *minValue;   struct expr *maxValue;   struct expr *minFields;   struct expr *maxFields;   struct constraintRecord *multifield;   struct constraintRecord *next;   int bucket;   int count;  };typedef struct constraintRecord CONSTRAINT_RECORD;#define SIZE_CONSTRAINT_HASH  167#define CONSTRAINT_DATA 43struct constraintData  {    struct constraintRecord **ConstraintHashtable;   intBool StaticConstraintChecking;   intBool DynamicConstraintChecking;#if (BLOAD || BLOAD_ONLY || BLOAD_AND_BSAVE) && (! RUN_TIME)   struct constraintRecord *ConstraintArray;   long int NumberOfConstraints;#endif  };#define ConstraintData(theEnv) ((struct constraintData *) GetEnvironmentData(theEnv,CONSTRAINT_DATA))#if ENVIRONMENT_API_ONLY#define GetDynamicConstraintChecking(theEnv) EnvGetDynamicConstraintChecking(theEnv)#define GetStaticConstraintChecking(theEnv) EnvGetStaticConstraintChecking(theEnv)#define SetDynamicConstraintChecking(theEnv,a) EnvSetDynamicConstraintChecking(theEnv,a)#define SetStaticConstraintChecking(theEnv,a) EnvSetStaticConstraintChecking(theEnv,a)#else#define GetDynamicConstraintChecking() EnvGetDynamicConstraintChecking(GetCurrentEnvironment())#define GetStaticConstraintChecking() EnvGetStaticConstraintChecking(GetCurrentEnvironment())#define SetDynamicConstraintChecking(a) EnvSetDynamicConstraintChecking(GetCurrentEnvironment(),a)#define SetStaticConstraintChecking(a) EnvSetStaticConstraintChecking(GetCurrentEnvironment(),a)#endif   LOCALE void                           InitializeConstraints(void *);   LOCALE int                            GDCCommand(void *);   LOCALE int                            SDCCommand(void *d);   LOCALE int                            GSCCommand(void *);   LOCALE int                            SSCCommand(void *);   LOCALE intBool                        EnvSetDynamicConstraintChecking(void *,int);   LOCALE intBool                        EnvGetDynamicConstraintChecking(void *);   LOCALE intBool                        EnvSetStaticConstraintChecking(void *,int);   LOCALE intBool                        EnvGetStaticConstraintChecking(void *);#if (! BLOAD_ONLY) && (! RUN_TIME)   LOCALE int                            HashConstraint(struct constraintRecord *);   LOCALE struct constraintRecord       *AddConstraint(void *,struct constraintRecord *);#endif#if (! RUN_TIME)   LOCALE void                           RemoveConstraint(void *,struct constraintRecord *);#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -