ddfb6adb98
In my #8489 we want to use boost's small_vector type, but that PR is kinda messy by adding boost and also making a meaningful change. So here I'm splitting out the boost addition to its own PR so that one can be more focused on the allocation improvement and consumption of boost.
38 lines
1.1 KiB
C++
38 lines
1.1 KiB
C++
#ifndef BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED
|
|
#define BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED
|
|
|
|
// Copyright 2001 John Maddock.
|
|
// Copyright 2017 Peter Dimov.
|
|
//
|
|
// 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
|
|
//
|
|
// BOOST_STRINGIZE(X)
|
|
// BOOST_JOIN(X, Y)
|
|
//
|
|
// Note that this header is C compatible.
|
|
|
|
//
|
|
// Helper macro BOOST_STRINGIZE:
|
|
// Converts the parameter X to a string after macro replacement
|
|
// on X has been performed.
|
|
//
|
|
#define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
|
|
#define BOOST_DO_STRINGIZE(X) #X
|
|
|
|
//
|
|
// Helper macro BOOST_JOIN:
|
|
// The following piece of macro magic joins the two
|
|
// arguments together, even when one of the arguments is
|
|
// itself a macro (see 16.3.1 in C++ standard). The key
|
|
// is that macro expansion of macro arguments does not
|
|
// occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN.
|
|
//
|
|
#define BOOST_JOIN(X, Y) BOOST_DO_JOIN(X, Y)
|
|
#define BOOST_DO_JOIN(X, Y) BOOST_DO_JOIN2(X,Y)
|
|
#define BOOST_DO_JOIN2(X, Y) X##Y
|
|
|
|
#endif // BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED
|