proxygen
ConstexprTest.cpp File Reference

Go to the source code of this file.

Functions

 TEST (ConstexprTest, constexpr_strlen_cstr)
 
 TEST (ConstexprTest, constexpr_strlen_ints)
 
 TEST (ConstexprTest, constexpr_strcmp_ints)
 

Function Documentation

TEST ( ConstexprTest  ,
constexpr_strlen_cstr   
)

Definition at line 23 of file ConstexprTest.cpp.

References a, folly::constexpr_strlen(), EXPECT_EQ, EXPECT_TRUE, and value.

23  {
24  constexpr auto v = "hello";
25  constexpr auto a = folly::constexpr_strlen(v);
26  EXPECT_EQ(5, a);
27  EXPECT_TRUE((std::is_same<const size_t, decltype(a)>::value));
28 }
#define EXPECT_EQ(val1, val2)
Definition: gtest.h:1922
char a
static const char *const value
Definition: Conv.cpp:50
#define EXPECT_TRUE(condition)
Definition: gtest.h:1859
constexpr size_t constexpr_strlen(const Char *s)
Definition: Constexpr.h:57
TEST ( ConstexprTest  ,
constexpr_strlen_ints   
)

Definition at line 32 of file ConstexprTest.cpp.

References a, folly::constexpr_strlen(), EXPECT_EQ, EXPECT_TRUE, and value.

32  {
33  constexpr int v[] = {5, 3, 4, 0, 7};
34  constexpr auto a = folly::constexpr_strlen(v);
35  EXPECT_EQ(3, a);
36  EXPECT_TRUE((std::is_same<const size_t, decltype(a)>::value));
37 }
#define EXPECT_EQ(val1, val2)
Definition: gtest.h:1922
char a
static const char *const value
Definition: Conv.cpp:50
#define EXPECT_TRUE(condition)
Definition: gtest.h:1859
constexpr size_t constexpr_strlen(const Char *s)
Definition: Constexpr.h:57
TEST ( ConstexprTest  ,
constexpr_strcmp_ints   
)

Definition at line 39 of file ConstexprTest.cpp.

References folly::constexpr_strcmp().

39  {
40  constexpr int v[] = {5, 3, 4, 0, 7};
41  constexpr int v1[] = {6, 4};
42  static_assert(constexpr_strcmp(v1, v) > 0, "constexpr_strcmp is broken");
43  static_assert(constexpr_strcmp(v, v) == 0, "constexpr_strcmp is broken");
44 }
constexpr int constexpr_strcmp(const Char *s1, const Char *s2)
Definition: Constexpr.h:75