API Documentation
Loading...
Searching...
No Matches
BaseValues.hpp File Reference
#include "DLLInfo.h"
#include <NDEVR/LibAssert.h>
#include <limits>
#include <cinttypes>
#include "BaseFunctions.hpp"
Include dependency graph for BaseValues.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  BaseValues
 Dummy class to ensure creation of an include file around core root values. More...
 
struct  Constant< t_type >
 Defines for a given type (such as sint04, fltp08, UUID, etc) a maximum, minimum, and reserved 'invalid' value. More...
 

Namespaces

namespace  NDEVR
 

Macros

#define UNUSED(expr)
 

Typedefs

typedef float fltp04
 Defines an alias representing a 4 byte floating-point number Bit layout is as follows: -Sign: 1 bit at position 31 determines whether or not the value is positive or negative. 0 denotes a positive number, and 1 denotes a negative number -Exponent: 8 bits stored in position 30–23 The exponent field needs to represent both positive and negative exponents. To do this, a bias is added to the actual exponent in order to get the stored exponent. This value is 127. Thus, an exponent of zero means that 127 is stored in the exponent field. A stored value of 200 indicates an exponent of (200–127), or 73. For reasons exponents of −127 (all 0s) and +128 (all 1s) are reserved for special numbers. -Fraction: 23 bits stored in positions 22–00. The mantissa, also known as the significand, represents the precision bits of the number. It is composed of an implicit leading bit (left of the radix point) and the fraction bits (to the right of the radix point). Note that positive and negative infinity are reserved as max and min. However precision changes for large and small numbers. Precision is greatest around 0.
 
typedef double fltp08
 Defines an alias representing an 8 byte floating-point number.
 
typedef int8_t sint01
 -Defines an alias representing a 1 byte, signed integer. -Can represent exact integer values -127 through 127. -Byte value 0XFF (integer value: -128) is considered invalid and reserved.
 
typedef int16_t sint02
 -Defines an alias representing a 2 byte, signed integer. -Can represent exact integer values -32767 through 32767. -Byte value 0XFFFF (integer value: -32768) is considered invalid and reserved.
 
typedef int32_t sint04
 -Defines an alias representing a 4 byte, signed integer. -Can represent exact integer values -2147483647 through 2147483647. -Byte value 0XFFFFFFFF (integer value: -2147483648) is considered invalid and reserved.
 
typedef int64_t sint08
 -Defines an alias representing an 8 byte, signed integer -Can represent exact integer values -9223372036854775807 through 9223372036854775807. -Byte value 0XFFFFFFFFFFFFFFFF (integer value: -9223372036854775808) is considered invalid and reserved.
 
typedef uint8_t uint01
 -Defines an alias representing a 1 byte, unsigned integer -Can represent exact integer values 0 through 254. -Byte value 0XFF (integer value: 255) is considered invalid and should normally be reserved. Note that it can be used with caution. -Note that subtracting 1 from 0 will result in 0xFF, the reserved invalid value.
 
typedef uint16_t uint02
 -Defines an alias representing a 2 byte, unsigned integer -Can represent exact integer values 0 through 65534. -Byte value 0xFFFF (integer value: 65535) is considered invalid and reserved. -Note that subtracting 1 from 0 will result in 0xFFFF, the reserved invalid value.
 
typedef uint32_t uint04
 -Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 through 4294967294. -Byte value 0xFFFFFFFF (integer value: 4294967295) is considered invalid and reserved. -Note that subtracting 1 from 0 will result in 0xFFFFFFFF, the reserved invalid value.
 
typedef uint64_t uint08
 -Defines an alias representing an 8 byte, unsigned integer
 
typedef wchar_t wchar
 Allias for wchar_t, a value that represents a character of two bytes in size.
 

Enumerations

enum  DimensionValues : uint01 {
  X = 0 , A = 0 , Y = 1 , B = 1 ,
  Z = 2 , C = 2 , W = 3 , D = 3
}
 Values that represent dimension values. More...
 
enum  GeodeticValues : uint01 { LAT = 0 , LON = 1 , ALT = 2 }
 Values that represent dimension values for geodic dimensions. Represents latitude, longitude, and altitude. More...
 
enum  InterpolationValues { nearest_neighbor , e_linear , bicubic }
 Values that represent interpolation functions. Useful in large or complicated geological or time based data sets. More...
 
enum  IntersectionTypes { outside = 0 , inside , mixed }
 Used for classifying shape intersections. More...
 
enum  LocationValues : uint01 { MIN = 0 , MAX = 1 }
 Values that represent location values. More...
 

Functions

template<>
constexpr uint04 cast (fltp04 value)
 Casts the given value. Is equivalent to static_cast except allows for the option of special cases by specializing the template.
 
template<>
constexpr uint04 cast (fltp08 value)
 Casts the given value. Is equivalent to static_cast except allows for the option of special cases by specializing the template.
 
template<>
constexpr uint04 cast (sint04 value)
 Casts the given value. Is equivalent to static_cast except allows for the option of special cases by specializing the template.
 
template<>
constexpr uint04 cast (sint08 value)
 Casts the given value. Is equivalent to static_cast except allows for the option of special cases by specializing the template.
 
template<class t_to , class t_from >
constexpr t_to cast (t_from value)
 Casts the given value. Is equivalent to static_cast except allows for the option of special cases by specializing the template.
 
template<class t_to , class t_from >
constexpr t_to rcast (t_from value)
 Casts the given value. Is equivalent to reinterpret_cast except allows for the option of special cases by specializing the template.
 

Macro Definition Documentation

◆ UNUSED

#define UNUSED ( expr)
Value:
do { (void)(expr); } while (0)