BAM
Abstract Machine for Bottom-Up Evaluation with the Push Method
relsize.h
Go to the documentation of this file.
1 // ============================================================================
2 // Project: Deductive Database
3 // Filename: relsize.h
4 // Purpose: Size measures for relation data structures.
5 // Last Change: 04.08.2017
6 // Language: C++
7 // EMail: brass@informatik.uni-halle.de
8 // WWW: http://www.informatik.uni-halle.de/~brass/
9 // Address: Feldschloesschen 15, D-06120 Halle (Saale), GERMANY
10 // Copyright: (c) 2016-2017 by Stefan Brass
11 // License: See file "LICENSE" for copying conditions.
12 // Note: There is no warranty at all - this code may contain bugs.
13 // ============================================================================
14 
15 
53 //=============================================================================
54 // Include File Frame:
55 //=============================================================================
56 
57 #ifndef RELSIZE_INCLUDED
58 #define RELSIZE_INCLUDED
59 
60 //=============================================================================
61 // Used Types and Macros:
62 //=============================================================================
63 
64 #ifndef VER_INCLUDED
65 #include "../base/ver.h"
66 #endif
67 
68 #ifndef STR_INCLUDED
69 #include "../base/str.h"
70 #endif
71 
72 #ifndef CHECK_INCLUDED
73 #include "../base/check.h"
74 #endif
75 
76 //=============================================================================
77 // Exported Types:
78 //=============================================================================
79 
80 //-----------------------------------------------------------------------------
81 // relsize_t: Size measures for relation data structures.
82 //-----------------------------------------------------------------------------
83 
84 typedef enum relsize_enum {
85  RELSIZE_OBJ_SIZE,
86  RELSIZE_HASHTAB_SIZE,
87  RELSIZE_ENTRIES_USED,
88  RELSIZE_BUCKET_SIZE,
89  RELSIZE_BUCKET_BYTES,
90  RELSIZE_TOTAL_BUCKETS,
91  RELSIZE_OVERFLOW_BUCKETS
92 } relsize_t;
93 
94 //=============================================================================
95 // Exported Functions:
96 //=============================================================================
97 
98 //-----------------------------------------------------------------------------
99 // relsize_valid: Is the parameter a valid element of the enumeration type?
100 //-----------------------------------------------------------------------------
101 
102 #if VER_DEBUG
103 bool relsize_valid(relsize_t relsize);
104 #endif
105 
106 //-----------------------------------------------------------------------------
107 // relsize_name: Name of size measure.
108 //-----------------------------------------------------------------------------
109 
110 str_t relsize_name(relsize_t relsize);
111 
112 
113 //=============================================================================
114 // End of File:
115 //=============================================================================
116 
117 #endif
118 
const char * str_t
Definition: str.h:41