tblite
Light-weight tight-binding framework
Loading...
Searching...
No Matches
macros.h
Go to the documentation of this file.
1/* This file is part of tblite.
2 * SPDX-Identifier: LGPL-3.0-or-later
3 *
4 * tblite is free software: you can redistribute it and/or modify it under
5 * the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
8 *
9 * tblite is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with tblite. If not, see <https://www.gnu.org/licenses/>.
16**/
17
23#pragma once
24
43#ifdef __cplusplus
44#define TBLITE_API_ENTRY extern "C"
45#ifndef TBLITE_CFFI
46#include <cstdint>
47#endif
48#else
49#define TBLITE_API_ENTRY extern
50#ifndef TBLITE_CFFI
51#include <stdbool.h>
52#include <stdint.h>
53#endif
54#endif
55
56#ifndef TBLITE_API_CALL
57#define TBLITE_API_CALL
58#endif