Sprout/sprout/preprocessor/some_number.hpp

39 lines
1.3 KiB
C++
Raw Normal View History

2014-01-27 10:09:00 +00:00
/*=============================================================================
2016-02-25 09:48:28 +00:00
Copyright (c) 2011-2016 Bolero MURAKAMI
2014-01-27 10:09:00 +00:00
https://github.com/bolero-MURAKAMI/Sprout
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)
=============================================================================*/
#ifndef SPROUT_PREPROCESSOR_SOME_NUMBER_HPP
#define SPROUT_PREPROCESSOR_SOME_NUMBER_HPP
#include <sprout/config.hpp>
2016-03-18 15:21:43 +00:00
#include <sprout/preprocessor/config.hpp>
2014-01-27 10:09:00 +00:00
#include <sprout/preprocessor/empty.hpp>
2016-03-18 15:21:43 +00:00
//
// SPROUT_PP_SOME_NUMBER_IS_UNIQUE_IN_LINE
//
#if SPROUT_PP_HAS_COUNTER
# undef SPROUT_PP_SOME_NUMBER_IS_UNIQUE_IN_LINE
# define SPROUT_PP_SOME_NUMBER_IS_UNIQUE_IN_LINE 1
#else
# undef SPROUT_PP_SOME_NUMBER_IS_UNIQUE_IN_LINE
# define SPROUT_PP_SOME_NUMBER_IS_UNIQUE_IN_LINE 0
#endif
2014-01-27 10:09:00 +00:00
//
// SPROUT_PP_SOME_NUMBER
// SPROUT_PP_SOME_NUMBER_OR_EMPTY
//
2016-03-18 15:21:43 +00:00
#if SPROUT_PP_HAS_COUNTER
2014-01-27 10:09:00 +00:00
# define SPROUT_PP_SOME_NUMBER() __COUNTER__
# define SPROUT_PP_SOME_NUMBER_OR_EMPTY() SPROUT_PP_SOME_NUMBER()
#else
# define SPROUT_PP_SOME_NUMBER() __LINE__
# define SPROUT_PP_SOME_NUMBER_OR_EMPTY() SPROUT_PP_EMPTY()
#endif
#endif // #ifndef SPROUT_PREPROCESSOR_SOME_NUMBER_HPP