blob: d85b2f04ba71368ee8858abd59dc86b7950da8f6 [file] [log] [blame]
Sebastian Jansson9eb38862018-06-14 16:47:42 +02001/*
2 * Copyright 2018 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10#ifndef RTC_BASE_EXPERIMENTS_FIELD_TRIAL_UNITS_H_
11#define RTC_BASE_EXPERIMENTS_FIELD_TRIAL_UNITS_H_
12
Sebastian Jansson9eb38862018-06-14 16:47:42 +020013#include "api/units/data_rate.h"
14#include "api/units/data_size.h"
15#include "api/units/time_delta.h"
Jonas Olssona4d87372019-07-05 19:08:33 +020016#include "rtc_base/experiments/field_trial_parser.h"
Sebastian Jansson9eb38862018-06-14 16:47:42 +020017
18namespace webrtc {
Sebastian Jansson55251c32019-08-08 11:14:51 +020019
20template <>
21absl::optional<DataRate> ParseTypedParameter<DataRate>(std::string str);
22template <>
23absl::optional<DataSize> ParseTypedParameter<DataSize>(std::string str);
24template <>
25absl::optional<TimeDelta> ParseTypedParameter<TimeDelta>(std::string str);
26
Sebastian Jansson9eb38862018-06-14 16:47:42 +020027extern template class FieldTrialParameter<DataRate>;
28extern template class FieldTrialParameter<DataSize>;
29extern template class FieldTrialParameter<TimeDelta>;
30
Sebastian Janssonb22f0772018-11-19 17:44:33 +010031extern template class FieldTrialConstrained<DataRate>;
32extern template class FieldTrialConstrained<DataSize>;
33extern template class FieldTrialConstrained<TimeDelta>;
34
Sebastian Jansson9eb38862018-06-14 16:47:42 +020035extern template class FieldTrialOptional<DataRate>;
36extern template class FieldTrialOptional<DataSize>;
37extern template class FieldTrialOptional<TimeDelta>;
38} // namespace webrtc
39
40#endif // RTC_BASE_EXPERIMENTS_FIELD_TRIAL_UNITS_H_