1 // Copyright (c) 2017-2021, Lawrence Livermore National Security, LLC and
2 // other Axom Project Developers. See the top-level LICENSE file for details.
3 //
4 // SPDX-License-Identifier: (BSD-3-Clause)
5 
6 /**
7  *  \file SiderDataTypeIds.h
8  *
9  *  \brief Contains defines used to establish type ids for numeric types in
10  *   Sidre component.
11  *
12  */
13 
14 #ifndef SIDRE_DATATYPEIDS_H_
15 #define SIDRE_DATATYPEIDS_H_
16 
17 // Libraries and other axom headers
18 #include "conduit.h"
19 
20 #include <stdint.h> /* for int64_t */
21 
22 using SIDRE_IndexType = int64_t;
23 
24 const SIDRE_IndexType SIDRE_InvalidIndex = -1;
25 
26 #define SIDRE_NO_TYPE_ID CONDUIT_EMPTY_ID
27 #define SIDRE_INT8_ID CONDUIT_INT8_ID
28 #define SIDRE_INT16_ID CONDUIT_INT16_ID
29 #define SIDRE_INT32_ID CONDUIT_INT32_ID
30 #define SIDRE_INT64_ID CONDUIT_INT64_ID
31 #define SIDRE_UINT8_ID CONDUIT_UINT8_ID
32 #define SIDRE_UINT16_ID CONDUIT_UINT16_ID
33 #define SIDRE_UINT32_ID CONDUIT_UINT32_ID
34 #define SIDRE_UINT64_ID CONDUIT_UINT64_ID
35 #define SIDRE_FLOAT32_ID CONDUIT_FLOAT32_ID
36 #define SIDRE_FLOAT64_ID CONDUIT_FLOAT64_ID
37 #define SIDRE_CHAR8_STR_ID CONDUIT_CHAR8_STR_ID
38 
39 #define SIDRE_INT_ID CONDUIT_NATIVE_INT_ID
40 #define SIDRE_UINT_ID CONDUIT_NATIVE_UNSIGNED_INT_ID
41 #define SIDRE_LONG_ID CONDUIT_NATIVE_LONG_ID
42 #define SIDRE_ULONG_ID CONDUIT_NATIVE_UNSIGNED_LONG_ID
43 #define SIDRE_FLOAT_ID CONDUIT_NATIVE_FLOAT_ID
44 #define SIDRE_DOUBLE_ID CONDUIT_NATIVE_DOUBLE_ID
45 
46 #endif /* SIDRE_DATATYPEIDS_H_ */
47