/* * Copyright (c) Atmosphère-NX * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, * version 2, as published by the Free Software Foundation. * * This program is distributed in the hope it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #pragma once /* Unconditionally include type-traits as first header. */ #include /* C headers. */ #include #include #include #include #include #include #include #include #include /* C++ headers. */ #include #include #include #include #include #include #include #include #include #include #include #include /* Stratosphere/Troposphere want additional libstdc++ headers and libnx, * others do not. */ #if defined(ATMOSPHERE_IS_STRATOSPHERE) || defined(ATMOSPHERE_IS_TROPOSPHERE) #include #include #include #include #include #include #if defined(ATMOSPHERE_OS_HORIZON) && defined(ATMOSPHERE_BOARD_NINTENDO_NX) /* Libnx. */ #include #else /* Non-switch code can't include libnx. */ #include "types.hpp" #endif #else /* Non-EL0 code can't include libnx. */ #include "types.hpp" #endif /* defined(ATMOSPHERE_IS_STRATOSPHERE) || defined(ATMOSPHERE_IS_TROPOSPHERE) */ /* Atmosphere meta. */ #include