// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once #include namespace search::multivalue { template class WeightedValue; /* * Check for the presence of a weight. */ template struct is_WeightedValue : std::false_type {}; template struct is_WeightedValue> : std::true_type {}; template inline constexpr bool is_WeightedValue_v = is_WeightedValue::value; /* * Extract inner type. */ template struct ValueType { using type = T; }; template struct ValueType> { using type = T; }; template using ValueType_t = typename ValueType::type; }