Import Geant4 2.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 15:42:07 +02:00
parent 103bda00c8
commit e7d7193284
3106 changed files with 171117 additions and 90550 deletions
+48 -28
View File
@@ -1,20 +1,10 @@
//
//
// $Id: Registry.h,v 1.2 1999/05/21 20:20:30 japost Exp $
// GEANT4 tag $Name: geant4-01-01 $
//
#ifndef _REGISTRY_H
#define _REGISTRY_H
/*
* NIST STEP Core Class Library
* clstepcore/Registry.h
* May 1995
* April 1997
* K. C. Morris
* David Sauder
@@ -22,11 +12,19 @@
* and is not subject to copyright.
*/
/* */
/* $Id: Registry.h,v 1.3 2000/01/21 13:42:30 gcosmo Exp $ */
#include <STEPentity.h>
#ifdef __OSTORE__
#include <ostore/ostore.hh> // Required to access ObjectStore Class Library
#endif
#include <sdai.h>
//#include <STEPentity.h>
#include <errordesc.h>
#include <scl_hash.h>
#include <Str.h>
#include <complexSupport.h>
typedef struct Hash_Table * HashTable;
class Registry;
@@ -36,41 +34,63 @@ typedef void (* CF_init) (Registry &); // pointer to creation initialization
class Registry {
protected:
HashTable primordialSwamp; // dictionary of EntityDescriptors
HashTable active_schemas; // dictionary of SchemaDescriptors
HashTable active_schemas; // dictionary of Schemas
HashTable active_types; // dictionary of TypeDescriptors
ComplexCollect *col; // struct containing all complex entity info
int entity_cnt;
int entity_cnt,
all_ents_cnt;
HashEntry cur_entity;
HashEntry cur_schema;
HashEntry cur_type;
// used by AddEntity() and RemoveEntity() to deal with renamings of an
// entity done in a USE or REFERENCE clause - see header comments in
// file Registry.inline.cc
void AddClones (const EntityDescriptor &);
void RemoveClones (const EntityDescriptor &);
public:
Registry (CF_init initFunct);
~Registry ();
void DeleteContents (); // CAUTION: calls delete on all the descriptors
const EntityDescriptor* FindEntity (const char *, int check_case =1) const;
const SchemaDescriptor* FindSchema (const char *, int check_case =1) const;
const TypeDescriptor* FindType (const char *, int check_case =1) const;
const EntityDescriptor* FindEntity (const char *, const char * =0,
int check_case =0) const;
const Schema* FindSchema (const char *, int check_case =0) const;
const TypeDescriptor* FindType (const char *, int check_case =0) const;
void AddEntity (const EntityDescriptor&);
void AddSchema (const SchemaDescriptor&);
void AddType (const TypeDescriptor&);
void AddSchema (const Schema&);
void AddType (const TypeDescriptor&);
void RemoveEntity (const char *);
void RemoveSchema (const char *);
void RemoveType (const char *);
void RemoveType (const char *);
int GetEntityCnt ();
int GetFullEntCnt () { return all_ents_cnt; }
void ResetEntities ();
const EntityDescriptor * NextEntity ();
void ResetSchemas () ;
const SchemaDescriptor * NextSchema ();
STEPentity* ObjCreate (const char * nm, int check_case =1) const;
void ResetSchemas ();
const Schema * NextSchema ();
void ResetTypes ();
const TypeDescriptor * NextType ();
const ComplexCollect *CompCol() { return col; }
void SetCompCollect( ComplexCollect *c ) { col = c; }
#ifdef __OSTORE__
SCLP23(Application_instance)* ObjCreate (const char * nm, os_database *db =0,
const char * =0, int check_case =0) const;
#else
SCLP23(Application_instance)* ObjCreate (const char * nm, const char * =0,
int check_case =0) const;
#endif
};
#endif
#endif /* _REGISTRY_H */