-
Notifications
You must be signed in to change notification settings - Fork 131
Expand file tree
/
Copy pathsdaiObject.h
More file actions
58 lines (43 loc) · 1.61 KB
/
sdaiObject.h
File metadata and controls
58 lines (43 loc) · 1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#ifndef SDAIOBJECT_H
#define SDAIOBJECT_H 1
#include <sc_export.h>
/*
*/
/*
The EXPRESS ENTITY entity_instance from the SDAI_data_type_schema from
clause 10 in ISO 10303-22, shall be mapped to the C++ class Entity_instance.
The class Entity_instance shall be a subtype of the C++ class Object:
*/
class SC_DAI_EXPORT SDAI_sdaiObject {
public:
SDAI_sdaiObject();
virtual ~SDAI_sdaiObject();
// static Object_ptr _duplicate(Object_ptr);
// static Object_ptr _nil();
};
typedef SDAI_sdaiObject * SDAI_sdaiObject_ptr;
typedef SDAI_sdaiObject_ptr SDAI_sdaiObject_var;
/*
The class Object shall be accessed through the handle types Object_ptr and
Object_var. For handles to the C++ class representing a EXPRESS ENTITY data
type A, the following implicit widening operations shall be supported:
A_ptr to Object_ptr and A_var to Object_ptr. An implementation need not
support implicit widening of A_var to Object_var.
This binding shall support the following functions:
*/
//void release(Object_ptr obj);
/*
The release function indicates that the caller will no longer access the
reference obj.
*/
//Boolean is_nil(Object_ptr obj);
/*
The is_nil function shall return true if obj is a nil handle; otherwise it
returns false.
This binding does not specify that all base classes in the application
schema be virtual base classes; however, it does require that no multiply
inherited derived class contain multiple instantiations of any of its base
classes. This requirement applies to all classes, even classes used to
instantiate complex instances.
*/
#endif