2
0
mirror of https://github.com/boostorg/fusion.git synced 2026-01-21 04:52:16 +00:00
Files
fusion/test/compile_time/driver.hpp
IncludeGuardian ce8b031f54 Swap include guards to #ifndef (#271)
Compilers implement a multiple-include optimization where they avoid
preprocessing an included file if it is "properly guarded". Compilers
differ as to what constitutes a "properly guarded" file. In particular,
Microsoft Visual Studio does not recognize `#if !defined(GUARD)` for
the optimization. This does not affect the correctness of using Fusion
on Microsoft Visual Studio, but it will increase the time taken to build
any project on this compiler.

This commit changes all include guards to use `#ifndef`, but leaves all
other `#if !defined` preprocessor directives that are not related to
guarding a file.

Co-authored-by: IncludeGuardian <hello@includeguardian.io>
2024-02-25 12:37:08 +08:00

76 lines
1.2 KiB
C++

/*=============================================================================
Copyright (c) 2008 Dan Marsden
Use modification and distribution are subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
#ifndef BOOST_FUSION_COMPILE_TIME_DRIVER
#define BOOST_FUSION_COMPILE_TIME_DRIVER
int main()
{
test<0>();
test<1>();
test<2>();
test<3>();
test<4>();
test<5>();
test<6>();
test<7>();
test<8>();
test<9>();
test<10>();
test<11>();
test<12>();
test<13>();
test<14>();
test<15>();
test<16>();
test<17>();
test<18>();
test<19>();
test<20>();
test<21>();
test<22>();
test<23>();
test<24>();
test<25>();
test<26>();
test<27>();
test<28>();
test<29>();
test<30>();
test<31>();
test<32>();
test<33>();
test<34>();
test<35>();
test<36>();
test<37>();
test<38>();
test<39>();
test<40>();
test<41>();
test<42>();
test<43>();
test<44>();
test<45>();
test<46>();
test<47>();
test<48>();
test<49>();
}
#endif