Merge branch 'develop'

This commit is contained in:
jzmaddock
2018-10-22 19:03:50 +01:00
21 changed files with 242 additions and 8 deletions

View File

@@ -251,6 +251,14 @@ matrix:
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
osx_image: xcode6.4 osx_image: xcode6.4
- os: linux
env: CMAKE_TEST_PROJECT=1
install: true
script:
- mkdir __build__ && cd __build__
- cmake ../test
- cmake --build .
install: install:
- BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
- cd .. - cd ..

21
CMakeLists.txt Normal file
View File

@@ -0,0 +1,21 @@
# Copyright 2018 Mike Dev
# Distributed under 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
#
# CAUTION!!!!
#
# This addition to Boost.Config should be considered experimental and is part
# of an ongoing effort to add CMake support Boost-wide.
#
# IT IS HIGHLY LIKELY THAT THIS FILE WILL CHANGE WITHOUT NOTICE!!!
#
# DO NOT REPLY ON THE CONTENTS OF THIS FILE!!!
#
cmake_minimum_required(VERSION 3.5)
project(BoostConfig LANGUAGES CXX)
add_library(boost_config INTERFACE)
add_library(Boost::config ALIAS boost_config)
target_include_directories(boost_config INTERFACE include)

35
README.md Normal file
View File

@@ -0,0 +1,35 @@
Boost Config Library
============================
This library provides configuration support for the Boost C++ libraries.
The full documentation is available on [boost.org](http://www.boost.org/doc/libs/release/libs/config/index.html).
## Support, bugs and feature requests ##
Bugs and feature requests can be reported through the [Gitub issue tracker](https://github.com/boostorg/config/issues)
(see [open issues](https://github.com/boostorg/config/issues) and
[closed issues](https://github.com/boostorg/config/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aclosed)).
You can submit your changes through a [pull request](https://github.com/boostorg/config/pulls).
There is no mailing-list specific to Boost Config, although you can use the general-purpose Boost [mailing-list](http://lists.boost.org/mailman/listinfo.cgi/boost-users) using the tag [config].
## Development ##
Clone the whole boost project, which includes the individual Boost projects as submodules ([see boost+git doc](https://github.com/boostorg/boost/wiki/Getting-Started)):
git clone https://github.com/boostorg/boost
cd boost
git submodule update --init
The Boost Config Library is located in `libs/config/`.
### Running tests ###
First, make sure you are in `libs/config/test`.
You can either run all the tests listed in `Jamfile.v2` or run a single test:
../../../b2 <- run all tests
../../../b2 config_info <- single test

View File

@@ -1,6 +1,6 @@
# #
# *** DO NOT EDIT THIS FILE BY HAND *** # *** DO NOT EDIT THIS FILE BY HAND ***
# This file was automatically generated on Sat Aug 4 19:11:09 2018 # This file was automatically generated on Thu Aug 16 11:20:17 2018
# by libs/config/tools/generate.cpp # by libs/config/tools/generate.cpp
# Copyright John Maddock. # Copyright John Maddock.
# Use, modification and distribution are subject to the # Use, modification and distribution are subject to the
@@ -113,6 +113,7 @@ obj cxx14_std_exchange : test_case.cpp : <define>TEST_BOOST_NO_CXX14_STD_EXCHANG
obj cxx14_variable_templates : test_case.cpp : <define>TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES ; obj cxx14_variable_templates : test_case.cpp : <define>TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES ;
obj cxx17_fold_expressions : test_case.cpp : <define>TEST_BOOST_NO_CXX17_FOLD_EXPRESSIONS ; obj cxx17_fold_expressions : test_case.cpp : <define>TEST_BOOST_NO_CXX17_FOLD_EXPRESSIONS ;
obj cxx17_hdr_optional : test_case.cpp : <define>TEST_BOOST_NO_CXX17_HDR_OPTIONAL ; obj cxx17_hdr_optional : test_case.cpp : <define>TEST_BOOST_NO_CXX17_HDR_OPTIONAL ;
obj cxx17_hdr_string_view : test_case.cpp : <define>TEST_BOOST_NO_CXX17_HDR_STRING_VIEW ;
obj cxx17_if_constexpr : test_case.cpp : <define>TEST_BOOST_NO_CXX17_IF_CONSTEXPR ; obj cxx17_if_constexpr : test_case.cpp : <define>TEST_BOOST_NO_CXX17_IF_CONSTEXPR ;
obj cxx17_inline_variables : test_case.cpp : <define>TEST_BOOST_NO_CXX17_INLINE_VARIABLES ; obj cxx17_inline_variables : test_case.cpp : <define>TEST_BOOST_NO_CXX17_INLINE_VARIABLES ;
obj cxx17_iterator_traits : test_case.cpp : <define>TEST_BOOST_NO_CXX17_ITERATOR_TRAITS ; obj cxx17_iterator_traits : test_case.cpp : <define>TEST_BOOST_NO_CXX17_ITERATOR_TRAITS ;

View File

@@ -1,4 +1,4 @@
// This file was automatically generated on Sat Aug 4 19:11:09 2018 // This file was automatically generated on Thu Aug 16 11:20:17 2018
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
@@ -521,6 +521,11 @@
# error "Defect macro BOOST_NO_CXX17_HDR_OPTIONAL is defined." # error "Defect macro BOOST_NO_CXX17_HDR_OPTIONAL is defined."
# endif # endif
#endif #endif
#ifdef TEST_BOOST_NO_CXX17_HDR_STRING_VIEW
# ifdef BOOST_NO_CXX17_HDR_STRING_VIEW
# error "Defect macro BOOST_NO_CXX17_HDR_STRING_VIEW is defined."
# endif
#endif
#ifdef TEST_BOOST_NO_CXX17_IF_CONSTEXPR #ifdef TEST_BOOST_NO_CXX17_IF_CONSTEXPR
# ifdef BOOST_NO_CXX17_IF_CONSTEXPR # ifdef BOOST_NO_CXX17_IF_CONSTEXPR
# error "Defect macro BOOST_NO_CXX17_IF_CONSTEXPR is defined." # error "Defect macro BOOST_NO_CXX17_IF_CONSTEXPR is defined."

View File

@@ -29,7 +29,7 @@ Distributed under the Boost Software License, Version 1.0.
[/ Other web resources ] [/ Other web resources ]
[def __STL_PORT__ [@http://stlport.sourceforge.net STLport]] [def __STL_PORT__ [@http://stlport.sourceforge.net STLport]]
[def __BOOST_TRACKER__ [@https://svn.boost.org/trac/boost/newticket Trac]] [def __BOOST_TRACKER__ [@https://github.com/boostorg/config/issues Github]]
[def __CORE_LANGUAGE_DR337__ [@http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#337 Core Language DR337]] [def __CORE_LANGUAGE_DR337__ [@http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#337 Core Language DR337]]
[def __PRINCIPLES_AND_PATTERNS_ARTICLE__ [@http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf following article]] [def __PRINCIPLES_AND_PATTERNS_ARTICLE__ [@http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf following article]]

View File

@@ -3832,6 +3832,18 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX17_HDR_STRING_VIEW</span></code>
</p>
</td>
<td>
<p>
The compiler does not support the header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">string_view</span><span class="special">&gt;</span></code>.
</p>
</td>
</tr>
<tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX17_STD_APPLY</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_CXX17_STD_APPLY</span></code>

View File

@@ -162,7 +162,7 @@
</p> </p>
<p> <p>
Boost library users can request support for additional compilers or platforms Boost library users can request support for additional compilers or platforms
by visiting our <a href="https://svn.boost.org/trac/boost/newticket" target="_top">Trac</a> by visiting our <a href="https://github.com/boostorg/config/issues" target="_top">Github</a>
and submitting a support request. and submitting a support request.
</p> </p>
</div> </div>
@@ -993,7 +993,7 @@
</div> </div>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: August 04, 2018 at 18:19:41 GMT</small></p></td> <td align="left"><p><small>Last revised: October 15, 2018 at 16:56:00 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td> <td align="right"><div class="copyright-footer"></div></td>
</tr></table> </tr></table>
<hr> <hr>

View File

@@ -948,6 +948,7 @@ that are not yet supported by a particular compiler or library.
[table [table
[[Macro ][Description ]] [[Macro ][Description ]]
[[`BOOST_NO_CXX17_HDR_OPTIONAL`][The compiler does not support the header `<optional>`.]] [[`BOOST_NO_CXX17_HDR_OPTIONAL`][The compiler does not support the header `<optional>`.]]
[[`BOOST_NO_CXX17_HDR_STRING_VIEW`][The compiler does not support the header `<string_view>`.]]
[[`BOOST_NO_CXX17_STD_APPLY`][The compiler does not support `std::apply()`.]] [[`BOOST_NO_CXX17_STD_APPLY`][The compiler does not support `std::apply()`.]]
[[`BOOST_NO_CXX17_STD_INVOKE`][The compiler does not support `std::invoke()`.]] [[`BOOST_NO_CXX17_STD_INVOKE`][The compiler does not support `std::invoke()`.]]
[[`BOOST_NO_CXX17_ITERATOR_TRAITS`][The compiler does not support SFINAE-friendly `std::iterator_traits`.]] [[`BOOST_NO_CXX17_ITERATOR_TRAITS`][The compiler does not support SFINAE-friendly `std::iterator_traits`.]]

View File

@@ -203,6 +203,7 @@
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS # define BOOST_NO_CXX17_STRUCTURED_BINDINGS
# define BOOST_NO_CXX17_IF_CONSTEXPR # define BOOST_NO_CXX17_IF_CONSTEXPR
# define BOOST_NO_CXX17_HDR_OPTIONAL # define BOOST_NO_CXX17_HDR_OPTIONAL
# define BOOST_NO_CXX17_HDR_STRING_VIEW
#endif #endif
// MSVC including version 14 has not yet completely // MSVC including version 14 has not yet completely
@@ -235,9 +236,11 @@
// Supported from msvc-15.5 onwards: // Supported from msvc-15.5 onwards:
#define BOOST_NO_CXX11_SFINAE_EXPR #define BOOST_NO_CXX11_SFINAE_EXPR
#endif #endif
#if (_MSC_VER < 1915) || (_MSVC_LANG < 201402)
// C++ 14: // C++ 14:
// Still gives internal compiler error for msvc-15.5: // Still gives internal compiler error for msvc-15.5:
# define BOOST_NO_CXX14_CONSTEXPR # define BOOST_NO_CXX14_CONSTEXPR
#endif
// C++ 17: // C++ 17:
#if (_MSC_VER < 1912) || (_MSVC_LANG < 201703) #if (_MSC_VER < 1912) || (_MSVC_LANG < 201703)
#define BOOST_NO_CXX17_INLINE_VARIABLES #define BOOST_NO_CXX17_INLINE_VARIABLES

View File

@@ -1026,10 +1026,14 @@ namespace std{ using ::type_info; }
// This is a catch all case for obsolete compilers / std libs: // This is a catch all case for obsolete compilers / std libs:
#if !defined(__has_include) #if !defined(__has_include)
# define BOOST_NO_CXX17_HDR_OPTIONAL # define BOOST_NO_CXX17_HDR_OPTIONAL
# define BOOST_NO_CXX17_HDR_STRING_VIEW
#else #else
#if !__has_include(<optional>) #if !__has_include(<optional>)
# define BOOST_NO_CXX17_HDR_OPTIONAL # define BOOST_NO_CXX17_HDR_OPTIONAL
#endif #endif
#if !__has_include(<string_view>)
# define BOOST_NO_CXX17_HDR_STRING_VIEW
#endif
#endif #endif
// //

View File

@@ -90,6 +90,7 @@
#if (_LIBCPP_VERSION < 4000) || (__cplusplus <= 201402L) #if (_LIBCPP_VERSION < 4000) || (__cplusplus <= 201402L)
# define BOOST_NO_CXX17_STD_APPLY # define BOOST_NO_CXX17_STD_APPLY
# define BOOST_NO_CXX17_HDR_OPTIONAL # define BOOST_NO_CXX17_HDR_OPTIONAL
# define BOOST_NO_CXX17_HDR_STRING_VIEW
#endif #endif
#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR) #if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
# define BOOST_NO_AUTO_PTR # define BOOST_NO_AUTO_PTR

View File

@@ -300,6 +300,7 @@ extern "C" char *gets (char *__s);
# define BOOST_NO_CXX17_STD_INVOKE # define BOOST_NO_CXX17_STD_INVOKE
# define BOOST_NO_CXX17_STD_APPLY # define BOOST_NO_CXX17_STD_APPLY
# define BOOST_NO_CXX17_HDR_OPTIONAL # define BOOST_NO_CXX17_HDR_OPTIONAL
# define BOOST_NO_CXX17_HDR_STRING_VIEW
#endif #endif
#if defined(__has_include) #if defined(__has_include)

27
test/CMakeLists.txt Normal file
View File

@@ -0,0 +1,27 @@
# Copyright 2018 John Maddock
# Distributed under 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
#
# CAUTION!!!!
#
# This addition to Boost.Config should be considered experimental and is part
# of an ongoing effort to add CMake support Boost-wide.
#
# IT IS HIGHLY LIKELY THAT THIS FILE WILL CHANGE WITHOUT NOTICE!!!
#
# DO NOT REPLY ON THE CONTENTS OF THIS FILE!!!
#
# In particular this is not a comprehensive test suite, just a quick check
# that the root CMakeLists.txt works OK, and a convenience for folks who
# want to import these projects into their IDE.
#
cmake_minimum_required(VERSION 3.5)
add_subdirectory(.. ${CMAKE_CURRENT_BINARY_DIR}/boost_config)
add_executable(config_info config_info.cpp)
target_link_libraries(config_info Boost::config)
add_executable(config_test config_test.cpp)
target_link_libraries(config_test Boost::config)

View File

@@ -1,7 +1,7 @@
# #
# Regression test Jamfile for boost configuration setup. # Regression test Jamfile for boost configuration setup.
# *** DO NOT EDIT THIS FILE BY HAND *** # *** DO NOT EDIT THIS FILE BY HAND ***
# This file was automatically generated on Sat Aug 4 19:11:09 2018 # This file was automatically generated on Thu Aug 16 11:20:17 2018
# by libs/config/tools/generate.cpp # by libs/config/tools/generate.cpp
# Copyright John Maddock. # Copyright John Maddock.
# Use, modification and distribution are subject to the # Use, modification and distribution are subject to the
@@ -328,6 +328,9 @@ test-suite "BOOST_NO_CXX17_FOLD_EXPRESSIONS" :
test-suite "BOOST_NO_CXX17_HDR_OPTIONAL" : test-suite "BOOST_NO_CXX17_HDR_OPTIONAL" :
[ run ../no_cxx17_hdr_optional_pass.cpp ] [ run ../no_cxx17_hdr_optional_pass.cpp ]
[ compile-fail ../no_cxx17_hdr_optional_fail.cpp ] ; [ compile-fail ../no_cxx17_hdr_optional_fail.cpp ] ;
test-suite "BOOST_NO_CXX17_HDR_STRING_VIEW" :
[ run ../no_cxx17_hdr_string_view_pass.cpp ]
[ compile-fail ../no_cxx17_hdr_string_view_fail.cpp ] ;
test-suite "BOOST_NO_CXX17_IF_CONSTEXPR" : test-suite "BOOST_NO_CXX17_IF_CONSTEXPR" :
[ run ../no_cxx17_if_constexpr_pass.cpp ] [ run ../no_cxx17_if_constexpr_pass.cpp ]
[ compile-fail ../no_cxx17_if_constexpr_fail.cpp ] ; [ compile-fail ../no_cxx17_if_constexpr_fail.cpp ] ;

View File

@@ -0,0 +1,26 @@
// (C) Copyright John Maddock 2018
// 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)
// See http://www.boost.org/libs/config for more information.
// MACRO: BOOST_NO_CXX17_HDR_STRING_VIEW
// TITLE: C++17 header <string_view> unavailable
// DESCRIPTION: The standard library does not supply C++17 header <string_view>
#include <string_view>
namespace boost_no_cxx17_hdr_string_view {
int test()
{
using std::string_view;
using std::wstring_view;
using std::u16string_view;
using std::u32string_view;
return 0;
}
}

View File

@@ -1160,6 +1160,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CXX14_VARIABLE_TEMPLATES); PRINT_MACRO(BOOST_NO_CXX14_VARIABLE_TEMPLATES);
PRINT_MACRO(BOOST_NO_CXX17_FOLD_EXPRESSIONS); PRINT_MACRO(BOOST_NO_CXX17_FOLD_EXPRESSIONS);
PRINT_MACRO(BOOST_NO_CXX17_HDR_OPTIONAL); PRINT_MACRO(BOOST_NO_CXX17_HDR_OPTIONAL);
PRINT_MACRO(BOOST_NO_CXX17_HDR_STRING_VIEW);
PRINT_MACRO(BOOST_NO_CXX17_IF_CONSTEXPR); PRINT_MACRO(BOOST_NO_CXX17_IF_CONSTEXPR);
PRINT_MACRO(BOOST_NO_CXX17_INLINE_VARIABLES); PRINT_MACRO(BOOST_NO_CXX17_INLINE_VARIABLES);
PRINT_MACRO(BOOST_NO_CXX17_ITERATOR_TRAITS); PRINT_MACRO(BOOST_NO_CXX17_ITERATOR_TRAITS);
@@ -1239,6 +1240,7 @@ void print_boost_macros()
// END GENERATED BLOCK // END GENERATED BLOCK
PRINT_MACRO(BOOST_INTEL); PRINT_MACRO(BOOST_INTEL);

View File

@@ -1,4 +1,4 @@
// This file was automatically generated on Sat Aug 4 19:11:09 2018 // This file was automatically generated on Thu Aug 16 11:20:17 2018
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
@@ -347,6 +347,11 @@ namespace boost_no_cxx17_fold_expressions = empty_boost;
#else #else
namespace boost_no_cxx17_hdr_optional = empty_boost; namespace boost_no_cxx17_hdr_optional = empty_boost;
#endif #endif
#ifndef BOOST_NO_CXX17_HDR_STRING_VIEW
#include "boost_no_cxx17_hdr_string_view.ipp"
#else
namespace boost_no_cxx17_hdr_string_view = empty_boost;
#endif
#ifndef BOOST_NO_CXX17_IF_CONSTEXPR #ifndef BOOST_NO_CXX17_IF_CONSTEXPR
#include "boost_no_cxx17_if_constexpr.ipp" #include "boost_no_cxx17_if_constexpr.ipp"
#else #else
@@ -1511,6 +1516,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_CXX17_HDR_OPTIONAL at: " << __FILE__ << ":" << __LINE__ << std::endl; std::cerr << "Failed test for BOOST_NO_CXX17_HDR_OPTIONAL at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count; ++error_count;
} }
if(0 != boost_no_cxx17_hdr_string_view::test())
{
std::cerr << "Failed test for BOOST_NO_CXX17_HDR_STRING_VIEW at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx17_if_constexpr::test()) if(0 != boost_no_cxx17_if_constexpr::test())
{ {
std::cerr << "Failed test for BOOST_NO_CXX17_IF_CONSTEXPR at: " << __FILE__ << ":" << __LINE__ << std::endl; std::cerr << "Failed test for BOOST_NO_CXX17_IF_CONSTEXPR at: " << __FILE__ << ":" << __LINE__ << std::endl;

View File

@@ -207,7 +207,7 @@ int cpp_main(int, char*[])
test_float_limits(long_double(), "long double"); test_float_limits(long_double(), "long double");
// Some compilers don't pay attention to std:3.6.1/5 and issue a // Some compilers don't pay attention to std:3.6.1/5 and issue a
// warning here if "return 0;" is omitted. // warning here if "return 0;" is omitted.
return 0; return boost::report_errors();
} }

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Thu Aug 16 11:20:17 2018
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// 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)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_CXX17_HDR_STRING_VIEW
// This file should not compile, if it does then
// BOOST_NO_CXX17_HDR_STRING_VIEW should not be defined.
// See file boost_no_cxx17_hdr_string_view.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_NO_CXX17_HDR_STRING_VIEW
#include "boost_no_cxx17_hdr_string_view.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_cxx17_hdr_string_view::test();
}

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Thu Aug 16 11:20:17 2018
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// 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)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_CXX17_HDR_STRING_VIEW
// This file should compile, if it does not then
// BOOST_NO_CXX17_HDR_STRING_VIEW should be defined.
// See file boost_no_cxx17_hdr_string_view.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_NO_CXX17_HDR_STRING_VIEW
#include "boost_no_cxx17_hdr_string_view.ipp"
#else
namespace boost_no_cxx17_hdr_string_view = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_cxx17_hdr_string_view::test();
}