move ble::Bounded in its own file.

pull/8738/head
Vincent Coubard 2018-11-14 15:54:34 +00:00
parent 20d5de70bd
commit a1d464f2c0
2 changed files with 48 additions and 21 deletions

View File

@ -23,6 +23,7 @@
#include "ble/SafeEnum.h"
#include "ble/ArrayView.h"
#include "ble/common/Duration.h"
#include "ble/common/Bounded.h"
/**
* @addtogroup ble
@ -43,27 +44,6 @@ void clamp(T& value, const R& min, const R& max) {
}
}
template<typename T, int32_t Min, int32_t Max>
struct Bounded {
Bounded(T v) : _value(v) {
if (v < Min) {
_value = v;
} else if (v > Max) {
_value = v;
}
}
T value() const {
return _value;
}
static const T min = Min;
static const T max = Max;
private:
T _value;
};
typedef Duration<uint32_t, 625, Range<0x20, 0xFFFFFF> > unit_adv_interval_t;
typedef Duration<uint16_t, 10000, Range<0x00, 0xFFFF> > unit_adv_duration_t;
typedef Duration<uint16_t, 10000, Range<0x00, 0xFFFF> > unit_scan_duration_t;

View File

@ -0,0 +1,47 @@
/* mbed Microcontroller Library
* Copyright (c) 2018 ARM Limited
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef BLE_COMMON_BOUNDED_H_
#define BLE_COMMON_BOUNDED_H_
#include <stdint.h>
namespace ble {
template<typename T, int32_t Min, int32_t Max>
struct Bounded {
Bounded(T v) : _value(v) {
if (v < Min) {
_value = v;
} else if (v > Max) {
_value = v;
}
}
T value() const {
return _value;
}
static const T min = Min;
static const T max = Max;
private:
T _value;
};
} // namespace ble
#endif //BLE_COMMON_BOUNDED_H_