Commit b9e08c66 authored by Yedidya Feldblum's avatar Yedidya Feldblum Committed by Facebook GitHub Bot

let badge and any_badge be literal types

Summary: By marking their constructors and conversions as `constexpr`.

Reviewed By: dstechenko

Differential Revision: D33176575

fbshipit-source-id: bb650e768caac787ea7faf249e9c5e80b67c03a1
parent 5c94d653
...@@ -59,10 +59,10 @@ template <typename Holder> ...@@ -59,10 +59,10 @@ template <typename Holder>
class badge { class badge {
public: public:
friend Holder; friend Holder;
/* implicit */ badge(any_badge<Holder>) noexcept {} /* implicit */ constexpr badge(any_badge<Holder>) noexcept {}
private: private:
/* implicit */ badge() noexcept {} /* implicit */ constexpr badge() noexcept {}
}; };
/** /**
...@@ -90,13 +90,13 @@ class any_badge { ...@@ -90,13 +90,13 @@ class any_badge {
template < template <
typename Holder, typename Holder,
typename = std::enable_if_t<folly::IsOneOf<Holder, Holders...>::value>> typename = std::enable_if_t<folly::IsOneOf<Holder, Holders...>::value>>
/* implicit */ any_badge(badge<Holder>) noexcept {} /* implicit */ constexpr any_badge(badge<Holder>) noexcept {}
template < template <
typename... OtherHolders, typename... OtherHolders,
typename = std::enable_if_t<folly::StrictConjunction< typename = std::enable_if_t<folly::StrictConjunction<
folly::IsOneOf<OtherHolders, Holders...>...>::value>> folly::IsOneOf<OtherHolders, Holders...>...>::value>>
/* implicit */ any_badge(any_badge<OtherHolders...>) noexcept {} /* implicit */ constexpr any_badge(any_badge<OtherHolders...>) noexcept {}
}; };
} // namespace folly } // namespace folly
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment