Lines Matching refs:FunctionType
20 enum class FunctionType { enum
31 struct AllFunctionTypes : EnumValuesAsTuple<AllFunctionTypes, FunctionType, 8> {
84 inline Function MakeFunction(FunctionType type, bool opaque = false) { in MakeFunction()
86 case FunctionType::Null: in MakeFunction()
88 case FunctionType::FunctionPointer: in MakeFunction()
90 case FunctionType::MemberFunctionPointer: in MakeFunction()
92 case FunctionType::MemberPointer: in MakeFunction()
94 case FunctionType::SmallTrivialFunctor: in MakeFunction()
96 case FunctionType::SmallNonTrivialFunctor: in MakeFunction()
98 case FunctionType::LargeTrivialFunctor: in MakeFunction()
100 case FunctionType::LargeNonTrivialFunctor: in MakeFunction()
105 template <class Opacity, class FunctionType>
110 benchmark::DoNotOptimize(MakeFunction(FunctionType(), true)); in run()
112 MakeFunction(FunctionType()); in run()
118 return "BM_ConstructAndDestroy" + FunctionType::name() + Opacity::name(); in name()
122 template <class FunctionType>
125 auto value = MakeFunction(FunctionType()); in run()
133 static std::string name() { return "BM_Copy" + FunctionType::name(); } in name()
136 template <class FunctionType>
139 Function values[2] = {MakeFunction(FunctionType())}; in run()
149 return "BM_Move" + FunctionType::name(); in name()
170 template <class FunctionType>
173 auto f = MakeFunction(FunctionType()); in run()
180 static std::string name() { return "BM_OperatorBool" + FunctionType::name(); } in name()
183 template <class FunctionType>
187 const auto value = MakeFunction(FunctionType()); in run()
194 static bool skip() { return FunctionType() == ::FunctionType::Null; } in skip()
196 static std::string name() { return "BM_Invoke" + FunctionType::name(); } in name()
199 template <class FunctionType>
204 MakeFunction(FunctionType())(&s); in run()
208 static bool skip() { return FunctionType() == ::FunctionType::Null; } in skip()
211 return "BM_InvokeInlined" + FunctionType::name(); in name()