mirror of
https://github.com/boostorg/fusion.git
synced 2025-07-20 07:42:11 +02:00
replaced tabs with 4 spaces
This commit is contained in:
@ -14,29 +14,29 @@
|
|||||||
|
|
||||||
namespace boost { namespace fusion
|
namespace boost { namespace fusion
|
||||||
{
|
{
|
||||||
namespace hashing
|
namespace hashing
|
||||||
{
|
{
|
||||||
struct hash_combine_fold
|
struct hash_combine_fold
|
||||||
{
|
{
|
||||||
typedef std::size_t result_type;
|
typedef std::size_t result_type;
|
||||||
template<typename T>
|
template<typename T>
|
||||||
inline std::size_t operator()(std::size_t seed, T const& v)
|
inline std::size_t operator()(std::size_t seed, T const& v)
|
||||||
{
|
{
|
||||||
boost::hash_combine(seed, v);
|
boost::hash_combine(seed, v);
|
||||||
return seed;
|
return seed;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename Seq>
|
template <typename Seq>
|
||||||
inline typename
|
inline typename
|
||||||
boost::enable_if<traits::is_sequence<Seq>, std::size_t>::type
|
boost::enable_if<traits::is_sequence<Seq>, std::size_t>::type
|
||||||
hash_value(Seq const& seq)
|
hash_value(Seq const& seq)
|
||||||
{
|
{
|
||||||
return fold(seq, 0, hash_combine_fold());
|
return fold(seq, 0, hash_combine_fold());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
using hashing::hash_value;
|
using hashing::hash_value;
|
||||||
}}
|
}}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -13,46 +13,46 @@
|
|||||||
|
|
||||||
struct test_struct
|
struct test_struct
|
||||||
{
|
{
|
||||||
test_struct(bool bb, int ii, char cc, std::string const& ss) :
|
test_struct(bool bb, int ii, char cc, std::string const& ss) :
|
||||||
b(bb),
|
b(bb),
|
||||||
i(ii),
|
i(ii),
|
||||||
c(cc),
|
c(cc),
|
||||||
s(ss) {}
|
s(ss) {}
|
||||||
|
|
||||||
bool b;
|
bool b;
|
||||||
int i;
|
int i;
|
||||||
char c;
|
char c;
|
||||||
std::string s;
|
std::string s;
|
||||||
};
|
};
|
||||||
|
|
||||||
BOOST_FUSION_ADAPT_STRUCT(
|
BOOST_FUSION_ADAPT_STRUCT(
|
||||||
test_struct,
|
test_struct,
|
||||||
(bool, b)
|
(bool, b)
|
||||||
(int, i)
|
(int, i)
|
||||||
(char, c)
|
(char, c)
|
||||||
(std::string, s)
|
(std::string, s)
|
||||||
)
|
)
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
using boost::fusion::hash_value;
|
using boost::fusion::hash_value;
|
||||||
|
|
||||||
const test_struct a0(false, 1, 'c', "Hello Nurse"),
|
const test_struct a0(false, 1, 'c', "Hello Nurse"),
|
||||||
a1(false, 1, 'c', "Hello Nurse"),
|
a1(false, 1, 'c', "Hello Nurse"),
|
||||||
b(true, 1, 'c', "Hello Nurse"),
|
b(true, 1, 'c', "Hello Nurse"),
|
||||||
c(false, 0, 'c', "Hello Nurse"),
|
c(false, 0, 'c', "Hello Nurse"),
|
||||||
d(false, 1, 'd', "Hello Nurse"),
|
d(false, 1, 'd', "Hello Nurse"),
|
||||||
e(false, 1, 'c', "Hello World");
|
e(false, 1, 'c', "Hello World");
|
||||||
|
|
||||||
BOOST_TEST(hash_value(a0) == hash_value(a1));
|
BOOST_TEST(hash_value(a0) == hash_value(a1));
|
||||||
BOOST_TEST(hash_value(a0) != hash_value(b));
|
BOOST_TEST(hash_value(a0) != hash_value(b));
|
||||||
BOOST_TEST(hash_value(a0) != hash_value(c));
|
BOOST_TEST(hash_value(a0) != hash_value(c));
|
||||||
BOOST_TEST(hash_value(a0) != hash_value(d));
|
BOOST_TEST(hash_value(a0) != hash_value(d));
|
||||||
BOOST_TEST(hash_value(a0) != hash_value(e));
|
BOOST_TEST(hash_value(a0) != hash_value(e));
|
||||||
BOOST_TEST(hash_value(b) != hash_value(c));
|
BOOST_TEST(hash_value(b) != hash_value(c));
|
||||||
BOOST_TEST(hash_value(b) != hash_value(d));
|
BOOST_TEST(hash_value(b) != hash_value(d));
|
||||||
BOOST_TEST(hash_value(b) != hash_value(d));
|
BOOST_TEST(hash_value(b) != hash_value(d));
|
||||||
BOOST_TEST(hash_value(c) != hash_value(d));
|
BOOST_TEST(hash_value(c) != hash_value(d));
|
||||||
BOOST_TEST(hash_value(c) != hash_value(e));
|
BOOST_TEST(hash_value(c) != hash_value(e));
|
||||||
BOOST_TEST(hash_value(d) != hash_value(e));
|
BOOST_TEST(hash_value(d) != hash_value(e));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user