mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-20 20:40:29 +08:00
Ref T476 Static asserts to ensure array and non-array datarefs are used correctly.
This commit is contained in:
@@ -85,6 +85,8 @@ namespace XSwiftBus
|
||||
template<class DataRefTraits>
|
||||
class DataRef : private DataRefImpl
|
||||
{
|
||||
static_assert(!DataRefTraits::is_array, "this is an array dataref");
|
||||
|
||||
public:
|
||||
//! Constructor
|
||||
DataRef() : DataRefImpl(DataRefTraits::name()) {}
|
||||
@@ -116,6 +118,8 @@ namespace XSwiftBus
|
||||
template<class DataRefTraits>
|
||||
class ArrayDataRef : private ArrayDataRefImpl
|
||||
{
|
||||
static_assert(DataRefTraits::is_array, "not an array dataref");
|
||||
|
||||
public:
|
||||
//! Constructor
|
||||
ArrayDataRef() : ArrayDataRefImpl(DataRefTraits::name(), DataRefTraits::size) {}
|
||||
@@ -147,6 +151,8 @@ namespace XSwiftBus
|
||||
template<class DataRefTraits>
|
||||
class StringDataRef
|
||||
{
|
||||
static_assert(DataRefTraits::is_array, "not an array dataref");
|
||||
|
||||
public:
|
||||
//! Constructor
|
||||
StringDataRef() : m_ref(XPLMFindDataRef(DataRefTraits::name()))
|
||||
|
||||
Reference in New Issue
Block a user