Skip to content

Commit ef1080a

Browse files
committed
WIP
1 parent 98521f3 commit ef1080a

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

include/xsimd/arch/common/xsimd_common_arithmetic.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include <type_traits>
1818

1919
#include "./xsimd_common_details.hpp"
20+
#include "../../types/xsimd_batch_constant.hpp"
2021

2122
namespace xsimd
2223
{

include/xsimd/arch/xsimd_common_fwd.hpp

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,27 @@
1313
#ifndef XSIMD_COMMON_FWD_HPP
1414
#define XSIMD_COMMON_FWD_HPP
1515

16-
#include "../type_traits"
17-
#include "../types/xsimd_batch_constant.hpp"
16+
// Remove heavy include and instead include only needed STL headers
17+
#include <cstdint>
18+
#include <type_traits>
1819

1920
namespace xsimd
2021
{
22+
// Minimal forward declarations used in this header
23+
template <class T, class A> class batch;
24+
template <class T, class A> class batch_bool;
25+
template <class T, class A, T... Vs> struct batch_constant;
26+
template <class T, class A, bool... Vs> struct batch_bool_constant;
27+
template <class T> struct convert;
28+
template <class A> struct requires_arch;
29+
struct aligned_mode;
30+
struct unaligned_mode;
31+
32+
namespace types
33+
{
34+
template <typename T, class A> struct has_simd_register;
35+
}
36+
2137
namespace kernel
2238
{
2339
// forward declaration

0 commit comments

Comments
 (0)