/* * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #include "experiments.h" #include "experiments-inl.h" namespace facebook { namespace yoga { namespace internal { namespace detail { std::bitset enabledExperiments = 0; } // namespace detail void enable(Experiment experiment) { detail::enabledExperiments.set(static_cast(experiment)); } void disable(Experiment experiment) { detail::enabledExperiments.reset(static_cast(experiment)); } bool toggle(Experiment experiment) { auto bit = static_cast(experiment); auto previousState = detail::enabledExperiments.test(bit); detail::enabledExperiments.flip(bit); return previousState; } } // namespace internal } // namespace yoga } // namespace facebook