+++ /dev/null
-#ifndef _STDEX_VALUE_TRAITS_HPP_INCLUDED_
-#define _STDEX_VALUE_TRAITS_HPP_INCLUDED_
-
-/******************************************************************************
-*
-* Copyright (c) 2019 AT&T Intellectual Property.
-* Copyright (c) 2018-2019 Nokia.
-*
-* 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.
-*
-******************************************************************************/
-
-#include <boost/utility.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/less_equal.hpp>
-#include <boost/mpl/greater.hpp>
-#include <boost/mpl/and.hpp>
-
-#include "type_defs.h"
-
-namespace stdex {
-namespace value {
-
-namespace mpl = boost::mpl;
-
-//NOTE! length is in bits
-typedef mpl::int_<8> _8;
-typedef mpl::int_<16> _16;
-typedef mpl::int_<24> _24;
-typedef mpl::int_<32> _32;
-typedef mpl::int_<40> _40;
-typedef mpl::int_<48> _48;
-typedef mpl::int_<56> _56;
-typedef mpl::int_<64> _64;
-
-template<int num_bits>
-struct bits_to_bytes : mpl::int_< (num_bits + 7) / 8 > {};
-
-/******************************************************************************
-* Class: value::traits<LEN>
-* Description: select min integer type to fit LEN bits
-* Notes: LEN is positive integer type (mpl::int_) = number of bits
-******************************************************************************/
-template <class LEN, typename Enabler = void> struct traits;
-
-template <class LEN>
-struct traits<LEN, typename boost::enable_if<
- mpl::less_equal<LEN, _8>
- >::type
->
-{
- typedef _8 value_length;
- typedef u8 value_type;
- typedef value_type param_type;
-};
-
-template <class LEN>
-struct traits<LEN, typename boost::enable_if<
- mpl::and_<mpl::greater<LEN, _8>, mpl::less_equal<LEN, _16> >
- >::type
->
-{
- typedef _16 value_length;
- typedef u16 value_type;
- typedef value_type param_type;
-};
-
-template <class LEN>
-struct traits<LEN, typename boost::enable_if<
- mpl::and_<mpl::greater<LEN, _16>, mpl::less_equal<LEN, _24> >
- >::type
->
-{
- typedef _24 value_length;
- typedef u32 value_type;
- typedef value_type param_type;
-};
-
-template <class LEN>
-struct traits<LEN, typename boost::enable_if<
- mpl::and_<mpl::greater<LEN, _24>, mpl::less_equal<LEN, _32> >
- >::type
->
-{
- typedef _32 value_length;
- typedef u32 value_type;
- typedef value_type param_type;
-};
-
-template <class LEN>
-struct traits<LEN, typename boost::enable_if<
- mpl::and_<mpl::greater<LEN, _32>, mpl::less_equal<LEN, _40> >
- >::type
->
-{
- typedef _40 value_length;
- typedef u64 value_type;
- typedef value_type param_type;
-};
-
-template <class LEN>
-struct traits<LEN, typename boost::enable_if<
- mpl::and_<mpl::greater<LEN, _40>, mpl::less_equal<LEN, _48> >
- >::type
->
-{
- typedef _48 value_length;
- typedef u64 value_type;
- typedef value_type param_type;
-};
-
-template <class LEN>
-struct traits<LEN, typename boost::enable_if<
- mpl::and_<mpl::greater<LEN, _48>, mpl::less_equal<LEN, _56> >
- >::type
->
-{
- typedef _56 value_length;
- typedef u64 value_type;
- typedef value_type param_type;
-};
-
-template <class LEN>
-struct traits<LEN, typename boost::enable_if<
- mpl::and_<mpl::greater<LEN, _56>, mpl::less_equal<LEN, _64> >
- >::type
->
-{
- typedef _64 value_length;
- typedef u64 value_type;
- typedef value_type param_type;
-};
-
-template <class LEN>
-struct traits<LEN, typename boost::enable_if<
- mpl::greater<LEN, _64>
- >::type
->
-{
- typedef LEN value_length;
- struct value_type {u8 value[bits_to_bytes<LEN::value>::value];};
- typedef value_type const& param_type;
-};
-
-
-//template <class LEN>
-//struct traits<LEN,
-// typename boost::enable_if<
-// mpl::greater<LEN, _32>
-// >::type
-//>
-//{
-// typedef LEN value_length;
-// struct value_type {unsigned char value[LEN::value/8];};
-// typedef value_type const& param_type;
-//
-//};
-
-/******************************************************************************
-* Class: value::traits_c<BITS>
-* Description: select min integer type to fit BITS bits
-* Notes: N is positive integer value = number of bits
-******************************************************************************/
-template <size_t BITS>
-struct traits_c : traits<boost::mpl::int_<BITS> >
-{
-};
-
-} //end: namespace value
-
-} //end: namespace stdex
-
-#ifdef _MSC_VER
-#pragma component( mintypeinfo, off )
-#endif
-
-#endif //_STDEX_VALUE_TRAITS_HPP_INCLUDED_