MrSID Decode SDK for LiDAR Reference Manual 1.1.4.4709

- Main Page
- Classes
- Files

- File List
- File Members

Base.h
Go to the documentation of this file.
1 /* //////////////////////////////////////////////////////////////////////////
2 // //
3 // This code is Copyright (c) 2008-2010 LizardTech, Inc, 1008 Western //
4 // Avenue, Suite 200, Seattle, WA 98104. Unauthorized use or distribution //
5 // prohibited. Access to and use of this code is permitted only under //
6 // license from LizardTech, Inc. Portions of the code are protected by //
7 // US and foreign patents and other filings. All Rights Reserved. //
8 // //
10 /* PUBLIC */
11
12 #ifndef __LIDAR_BASE_H__
13 #define __LIDAR_BASE_H__
14
15 /* this should be a vaild C header file */
16
17 #include <stddef.h>
18
19 /* Notes on data types */
20
21 /* use size_t and ptrdiff_t when dealing memory sizes and offsets */
22 /* use IO::offset_type when dealing with file sizes and offsets */
23
24 /* use the following types when reading and writing persistent data */
25
27 typedef signed char lt_int8;
29 typedef unsigned char lt_uint8;
31 typedef signed short lt_int16;
33 typedef unsigned short lt_uint16;
35 typedef signed int lt_int32;
37 typedef unsigned int lt_uint32;
38
39 #if defined(_MSC_VER)
40
41 typedef signed __int64 lt_int64;
43 typedef unsigned __int64 lt_uint64;
44 #else
45
46 typedef long long int lt_int64;
48 typedef unsigned long long int lt_uint64;
49 #endif
50
51 #ifdef __cplusplus
52
53 /* namespace macros */
54 #define LT_BEGIN_LIDAR_NAMESPACE namespace LizardTech {
55 #define LT_END_LIDAR_NAMESPACE }
56 #define LT_USE_LIDAR_NAMESPACE using namespace LizardTech;
57
58 LT_BEGIN_LIDAR_NAMESPACE
59
60 void *XALLOC(size_t size);
61 void *XREALLOC(void *ptr, size_t size);
62 void XDEALLOC(void *ptr);
63
64 /* Macro for disabling copy construtor and assignment opterator */
65
66 #define DISABLE_COPY(classname) \
67 private: \
68 classname(const classname &); \
69 classname &operator=(const classname &)
70
71 #define SIMPLE_OBJECT(classname) \
72 DISABLE_COPY(classname)
73
74 LT_END_LIDAR_NAMESPACE
75
76 #endif /* __cplusplus */
77
78 #ifdef __cplusplus
79 #define LT_BEGIN_C_NAMESPACE extern "C" {
80 #define LT_END_C_NAMESPACE };
81 #else
82 #define LT_BEGIN_C_NAMESPACE
83 #define LT_END_C_NAMESPACE
84 #endif
85
86 #endif /* __LIDAR_BASE_H__ */

LizardTech