forked from boostorg/core
Implement first_scalar
This commit is contained in:
@@ -127,6 +127,9 @@ run to_address_test.cpp ;
|
||||
run exchange_test.cpp ;
|
||||
run exchange_move_test.cpp ;
|
||||
|
||||
run first_scalar_test.cpp ;
|
||||
compile first_scalar_constexpr_test.cpp ;
|
||||
|
||||
run empty_value_test.cpp ;
|
||||
run empty_value_size_test.cpp ;
|
||||
run empty_value_final_test.cpp ;
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
Copyright 2019 Glen Joseph Fernandes
|
||||
(glenjofe@gmail.com)
|
||||
|
||||
Distributed under the Boost Software License, Version 1.0.
|
||||
(http://www.boost.org/LICENSE_1_0.txt)
|
||||
*/
|
||||
#include <boost/config.hpp>
|
||||
#if !defined(BOOST_NO_CXX14_CONSTEXPR)
|
||||
#include <boost/core/first_scalar.hpp>
|
||||
#include <boost/static_assert.hpp>
|
||||
|
||||
static int i1 = 0;
|
||||
BOOST_STATIC_ASSERT(boost::first_scalar(&i1) == &i1);
|
||||
static int i2[4] = { };
|
||||
BOOST_STATIC_ASSERT(boost::first_scalar(i2) == &i2[0]);
|
||||
static int i3[2][4][6] = { };
|
||||
BOOST_STATIC_ASSERT(boost::first_scalar(i3) == &i3[0][0][0]);
|
||||
#endif
|
||||
@@ -0,0 +1,20 @@
|
||||
/*
|
||||
Copyright 2019 Glen Joseph Fernandes
|
||||
(glenjofe@gmail.com)
|
||||
|
||||
Distributed under the Boost Software License, Version 1.0.
|
||||
(http://www.boost.org/LICENSE_1_0.txt)
|
||||
*/
|
||||
#include <boost/core/first_scalar.hpp>
|
||||
#include <boost/core/lightweight_test.hpp>
|
||||
|
||||
int main()
|
||||
{
|
||||
int i1 = 0;
|
||||
BOOST_TEST_EQ(boost::first_scalar(&i1), &i1);
|
||||
int i2[4] = { };
|
||||
BOOST_TEST_EQ(boost::first_scalar(i2), &i2[0]);
|
||||
int i3[2][4][6] = { };
|
||||
BOOST_TEST_EQ(boost::first_scalar(i3), &i3[0][0][0]);
|
||||
return boost::report_errors();
|
||||
}
|
||||
Reference in New Issue
Block a user