mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-30 09:03:35 +08:00
UAVCAN_EXPORT
This commit is contained in:
@@ -28,7 +28,7 @@ enum ArrayMode { ArrayModeStatic, ArrayModeDynamic };
|
||||
|
||||
|
||||
template <unsigned Size>
|
||||
class StaticArrayBase
|
||||
class UAVCAN_EXPORT StaticArrayBase
|
||||
{
|
||||
public:
|
||||
enum { SizeBitLen = 0 };
|
||||
@@ -57,7 +57,7 @@ protected:
|
||||
|
||||
|
||||
template <unsigned MaxSize>
|
||||
class DynamicArrayBase
|
||||
class UAVCAN_EXPORT DynamicArrayBase
|
||||
{
|
||||
protected:
|
||||
typedef IntegerSpec<IntegerBitLen<MaxSize>::Result, SignednessUnsigned, CastModeSaturate> RawSizeType;
|
||||
@@ -123,8 +123,8 @@ public:
|
||||
* Statically allocated array with optional dynamic-like behavior
|
||||
*/
|
||||
template <typename T, ArrayMode ArrayMode, unsigned MaxSize>
|
||||
class ArrayImpl : public Select<ArrayMode == ArrayModeDynamic,
|
||||
DynamicArrayBase<MaxSize>, StaticArrayBase<MaxSize> >::Result
|
||||
class UAVCAN_EXPORT ArrayImpl : public Select<ArrayMode == ArrayModeDynamic,
|
||||
DynamicArrayBase<MaxSize>, StaticArrayBase<MaxSize> >::Result
|
||||
{
|
||||
typedef ArrayImpl<T, ArrayMode, MaxSize> SelfType;
|
||||
typedef typename Select<ArrayMode == ArrayModeDynamic,
|
||||
@@ -198,7 +198,7 @@ public:
|
||||
* Bit array specialization
|
||||
*/
|
||||
template <unsigned MaxSize, ArrayMode ArrayMode, CastMode CastMode>
|
||||
class ArrayImpl<IntegerSpec<1, SignednessUnsigned, CastMode>, ArrayMode, MaxSize>
|
||||
class UAVCAN_EXPORT ArrayImpl<IntegerSpec<1, SignednessUnsigned, CastMode>, ArrayMode, MaxSize>
|
||||
: public std::bitset<MaxSize>
|
||||
, public Select<ArrayMode == ArrayModeDynamic, DynamicArrayBase<MaxSize>, StaticArrayBase<MaxSize> >::Result
|
||||
{
|
||||
@@ -228,7 +228,7 @@ template <typename T, ArrayMode ArrayMode> class ArrayImpl<T, ArrayMode, 0>;
|
||||
|
||||
|
||||
template <typename T, ArrayMode ArrayMode, unsigned MaxSize_>
|
||||
class Array : public ArrayImpl<T, ArrayMode, MaxSize_>
|
||||
class UAVCAN_EXPORT Array : public ArrayImpl<T, ArrayMode, MaxSize_>
|
||||
{
|
||||
typedef ArrayImpl<T, ArrayMode, MaxSize_> Base;
|
||||
typedef Array<T, ArrayMode, MaxSize_> SelfType;
|
||||
@@ -691,12 +691,14 @@ public:
|
||||
};
|
||||
|
||||
template <typename R, typename T, ArrayMode ArrayMode, unsigned MaxSize>
|
||||
UAVCAN_EXPORT
|
||||
inline bool operator==(const R& rhs, const Array<T, ArrayMode, MaxSize>& lhs)
|
||||
{
|
||||
return lhs.operator==(rhs);
|
||||
}
|
||||
|
||||
template <typename R, typename T, ArrayMode ArrayMode, unsigned MaxSize>
|
||||
UAVCAN_EXPORT
|
||||
inline bool operator!=(const R& rhs, const Array<T, ArrayMode, MaxSize>& lhs)
|
||||
{
|
||||
return lhs.operator!=(rhs);
|
||||
@@ -704,7 +706,7 @@ inline bool operator!=(const R& rhs, const Array<T, ArrayMode, MaxSize>& lhs)
|
||||
|
||||
|
||||
template <typename T, ArrayMode ArrayMode, unsigned MaxSize>
|
||||
class YamlStreamer<Array<T, ArrayMode, MaxSize> >
|
||||
class UAVCAN_EXPORT YamlStreamer<Array<T, ArrayMode, MaxSize> >
|
||||
{
|
||||
typedef Array<T, ArrayMode, MaxSize> ArrayType;
|
||||
|
||||
|
||||
@@ -8,15 +8,16 @@
|
||||
#include <string>
|
||||
#include <uavcan/stdint.hpp>
|
||||
#include <uavcan/util/compile_time.hpp>
|
||||
#include <uavcan/impl_constants.hpp>
|
||||
|
||||
namespace uavcan
|
||||
{
|
||||
|
||||
class ITransferBuffer;
|
||||
class UAVCAN_EXPORT ITransferBuffer;
|
||||
|
||||
void bitarrayCopy(const unsigned char* src_org, int src_offset, int src_len, unsigned char* dst_org, int dst_offset);
|
||||
|
||||
class BitStream
|
||||
class UAVCAN_EXPORT BitStream
|
||||
{
|
||||
enum { MaxBytesPerRW = 16 };
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace uavcan
|
||||
#if UAVCAN_CPP_VERSION >= UAVCAN_CPP11
|
||||
|
||||
template <typename ArrayType_>
|
||||
class CharArrayFormatter
|
||||
class UAVCAN_EXPORT CharArrayFormatter
|
||||
{
|
||||
ArrayType_& array_;
|
||||
|
||||
@@ -99,7 +99,7 @@ public:
|
||||
#else
|
||||
|
||||
template <typename ArrayType_>
|
||||
class CharArrayFormatter
|
||||
class UAVCAN_EXPORT CharArrayFormatter
|
||||
{
|
||||
ArrayType_& array_;
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ struct NativeFloatSelector
|
||||
};
|
||||
|
||||
|
||||
class IEEE754Converter
|
||||
class UAVCAN_EXPORT IEEE754Converter
|
||||
{
|
||||
// TODO: Non-IEEE float support for float32 and float64
|
||||
static uint16_t nativeNonIeeeToHalf(float value);
|
||||
@@ -102,7 +102,7 @@ template <> struct IEEE754Limits<64>
|
||||
|
||||
|
||||
template <unsigned BitLen_, CastMode CastMode>
|
||||
class FloatSpec : public IEEE754Limits<BitLen_>
|
||||
class UAVCAN_EXPORT FloatSpec : public IEEE754Limits<BitLen_>
|
||||
{
|
||||
FloatSpec();
|
||||
|
||||
@@ -184,7 +184,7 @@ private:
|
||||
|
||||
|
||||
template <unsigned BitLen, CastMode CastMode>
|
||||
struct YamlStreamer<FloatSpec<BitLen, CastMode> >
|
||||
struct UAVCAN_EXPORT YamlStreamer<FloatSpec<BitLen, CastMode> >
|
||||
{
|
||||
typedef typename FloatSpec<BitLen, CastMode>::StorageType StorageType;
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace uavcan
|
||||
enum Signedness { SignednessUnsigned, SignednessSigned };
|
||||
|
||||
template <unsigned BitLen_, Signedness Signedness, CastMode CastMode>
|
||||
class IntegerSpec
|
||||
class UAVCAN_EXPORT IntegerSpec
|
||||
{
|
||||
struct ErrorNoSuchInteger;
|
||||
|
||||
@@ -132,7 +132,7 @@ struct IsIntegerSpec<IntegerSpec<BitLen, Signedness, CastMode> >
|
||||
|
||||
|
||||
template <unsigned BitLen, Signedness Signedness, CastMode CastMode>
|
||||
struct YamlStreamer<IntegerSpec<BitLen, Signedness, CastMode> >
|
||||
struct UAVCAN_EXPORT YamlStreamer<IntegerSpec<BitLen, Signedness, CastMode> >
|
||||
{
|
||||
typedef IntegerSpec<BitLen, Signedness, CastMode> RawType;
|
||||
typedef typename RawType::StorageType StorageType;
|
||||
|
||||
@@ -8,13 +8,14 @@
|
||||
#include <limits>
|
||||
#include <string>
|
||||
#include <uavcan/stdint.hpp>
|
||||
#include <uavcan/impl_constants.hpp>
|
||||
#include <uavcan/util/compile_time.hpp>
|
||||
#include <uavcan/marshal/bit_stream.hpp>
|
||||
|
||||
namespace uavcan
|
||||
{
|
||||
|
||||
class ScalarCodec
|
||||
class UAVCAN_EXPORT ScalarCodec
|
||||
{
|
||||
BitStream& stream_;
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <uavcan/util/compile_time.hpp>
|
||||
#include <uavcan/impl_constants.hpp>
|
||||
|
||||
namespace uavcan
|
||||
{
|
||||
@@ -64,6 +65,6 @@ public:
|
||||
|
||||
|
||||
template <typename T>
|
||||
struct YamlStreamer;
|
||||
struct UAVCAN_EXPORT YamlStreamer;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user