SheafSystem  0.0.0.0
sheaf.h
1 
2 //
3 // Copyright (c) 2014 Limit Point Systems, Inc.
4 //
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 // http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17 
18 #ifndef SHEAF_H
19 #define SHEAF_H
20 
21 #ifndef SHEAF_DLL_SPEC_H
22 #include "SheafSystem/sheaf_dll_spec.h"
23 #endif
24 
25 #ifndef STD_CSTDDEF_H
26 #include "SheafSystem/std_cstddef.h"
27 #endif
28 
29 #ifndef STD_STRING_H
30 #include "SheafSystem/std_string.h"
31 #endif
32 
36 namespace sheaf
37 {
41 typedef int int_type;
42 
47 typedef long difference_type;
48 
52 typedef unsigned long size_type;
53 
57 typedef void* void_star;
58 
62 typedef char* c_string;
63 
67 const bool LOWER = true;
68 
72 const bool UPPER = false;
73 
77 const bool DOWN = true;
78 
82 const bool UP = false;
83 
87 const bool RESET = true;
88 
92 const bool NO_RESET = false;
93 
97 const bool STRICT = true;
98 
102 const bool NOT_STRICT = false;
103 
107 const size_type RESERVED_TERM_SIZE = 128;
108 
112 const size_type EXPLICIT_INTERVAL_SIZE = 128;
113 
114 // =============================================================================
115 // MISC FACET
116 // =============================================================================
117 
125 SHEAF_DLL_SPEC void check_lps_script_has_run();
126 
131 SHEAF_DLL_SPEC std::string filename_from_cmdline(std::string xargv);
132 
136 const std::string RELEASE_TAG = "$Name: HEAD $";
137 
142 SHEAF_DLL_SPEC std::string get_release_tag();
143 
147 SHEAF_DLL_SPEC bool isunordered_or_equals(float x1, float x2);
148 
152 SHEAF_DLL_SPEC bool isunordered_or_equals(double x1, double x2);
153 
157 SHEAF_DLL_SPEC bool isunordered_or_equals(long double x1, long double x2);
158 
159 
160 } // namespace sheaf
161 
162 
163 #endif // ifndef SHEAF_H
const size_type RESERVED_TERM_SIZE
Size of reserved term in top id space.
Definition: sheaf.h:107
SHEAF_DLL_SPEC void check_lps_script_has_run()
Function to test for whether the LPS script has been executed.
Definition: sheaf.cc:36
const std::string RELEASE_TAG
The CVS branch tag this file is part of.
Definition: sheaf.h:136
const bool STRICT
Iteration strictness control.
Definition: sheaf.h:97
long difference_type
A signed integral type used to represent the difference of two indices or iterators.
Definition: sheaf.h:47
SHEAF_DLL_SPEC std::string get_release_tag()
Returns the CVS branch tag for this codebase. .
Definition: sheaf.cc:81
void * void_star
Synonym for void*.
Definition: sheaf.h:57
SHEAF_DLL_SPEC std::string filename_from_cmdline(std::string xargv)
Method to strip any command line down to it's rightmost delimited element . Used in unit test routine...
Definition: sheaf.cc:51
const size_type EXPLICIT_INTERVAL_SIZE
Size of the explicit id space intervals.
Definition: sheaf.h:112
const bool RESET
Iteration marker reset control.
Definition: sheaf.h:87
const bool NOT_STRICT
Iteration strictness control.
Definition: sheaf.h:102
const bool DOWN
Iteration directions.
Definition: sheaf.h:77
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
Definition: sheaf.h:52
const bool UPPER
Selector for upper cover.
Definition: sheaf.h:72
const bool UP
Iteration directions.
Definition: sheaf.h:82
const bool NO_RESET
Iteration marker reset control.
Definition: sheaf.h:92
const bool LOWER
Selector for lower cover.
Definition: sheaf.h:67
Namespace for the sheaves component of the sheaf system.
int int_type
The preferred integer type.
Definition: sheaf.h:41
char * c_string
Synonym for char*.
Definition: sheaf.h:62
SHEAF_DLL_SPEC bool isunordered_or_equals(float x1, float x2)
True if isunordered(x1, x2) or x1 == x2.
Definition: sheaf.cc:102