WPILibC++ 2024.3.2
nt::StructEntry< T, I > Class Template Referencefinal

NetworkTables struct-encoded value entry. More...

#include <networktables/StructTopic.h>

Inheritance diagram for nt::StructEntry< T, I >:
nt::StructSubscriber< T, I... > nt::StructPublisher< T, I... > nt::Subscriber nt::Publisher

Public Types

using SubscriberType = StructSubscriber< T, I... >
 
using PublisherType = StructPublisher< T, I... >
 
using TopicType = StructTopic< T, I... >
 
using ValueType = T
 
using ParamType = const T &
 
using TimestampedValueType = Timestamped< T >
 
- Public Types inherited from nt::StructSubscriber< T, I... >
using TopicType = StructTopic< T, I... >
 
using ValueType = T
 
using ParamType = const T &
 
using TimestampedValueType = Timestamped< T >
 
- Public Types inherited from nt::StructPublisher< T, I... >
using TopicType = StructTopic< T, I... >
 
using ValueType = T
 
using ParamType = const T &
 
using TimestampedValueType = Timestamped< T >
 

Public Member Functions

 StructEntry ()=default
 
 StructEntry (NT_Entry handle, T defaultValue, const I &... info)
 Construct from an entry handle; recommended to use StructTopic::GetEntry() instead. More...
 
 operator bool () const
 Determines if the native handle is valid. More...
 
NT_Entry GetHandle () const
 Gets the native handle for the entry. More...
 
TopicType GetTopic () const
 Get the corresponding topic. More...
 
void Unpublish ()
 Stops publishing the entry if it's published. More...
 
- Public Member Functions inherited from nt::StructSubscriber< T, I... >
 StructSubscriber ()=default
 
 StructSubscriber (NT_Subscriber handle, T defaultValue, I... info)
 Construct from a subscriber handle; recommended to use StructTopic::Subscribe() instead. More...
 
ValueType Get () const
 Get the last published value. More...
 
ValueType Get (const T &defaultValue) const
 Get the last published value. More...
 
bool GetInto (T *out)
 Get the last published value, replacing the contents in place of an existing object. More...
 
TimestampedValueType GetAtomic () const
 Get the last published value along with its timestamp If no value has been published or the value cannot be unpacked, returns the stored default value and a timestamp of 0. More...
 
TimestampedValueType GetAtomic (const T &defaultValue) const
 Get the last published value along with its timestamp. More...
 
std::vector< TimestampedValueTypeReadQueue ()
 Get an array of all valid value changes since the last call to ReadQueue. More...
 
TopicType GetTopic () const
 Get the corresponding topic. More...
 
- Public Member Functions inherited from nt::Subscriber
virtual ~Subscriber ()
 
 Subscriber (const Subscriber &)=delete
 
Subscriberoperator= (const Subscriber &)=delete
 
 Subscriber (Subscriber &&)
 
Subscriberoperator= (Subscriber &&)
 
 operator bool () const
 Determines if the native handle is valid. More...
 
NT_Subscriber GetHandle () const
 Gets the native handle for the subscriber. More...
 
bool Exists () const
 Determines if the topic is currently being published. More...
 
int64_t GetLastChange () const
 Gets the last time the value was changed. More...
 
Topic GetTopic () const
 Gets the subscribed-to topic. More...
 
- Public Member Functions inherited from nt::StructPublisher< T, I... >
 StructPublisher ()=default
 
 StructPublisher (const StructPublisher &)=delete
 
 StructPublisher (StructPublisher &&rhs)
 
 StructPublisher (NT_Publisher handle, I... info)
 Construct from a publisher handle; recommended to use StructTopic::Publish() instead. More...
 
StructPublisheroperator= (const StructPublisher &)=delete
 
StructPublisheroperator= (StructPublisher &&rhs)
 
void Set (const T &value, int64_t time=0)
 Publish a new value. More...
 
void SetDefault (const T &value)
 Publish a default value. More...
 
TopicType GetTopic () const
 Get the corresponding topic. More...
 
- Public Member Functions inherited from nt::Publisher
virtual ~Publisher ()
 
 Publisher (const Publisher &)=delete
 
Publisheroperator= (const Publisher &)=delete
 
 Publisher (Publisher &&)
 
Publisheroperator= (Publisher &&)
 
 operator bool () const
 Determines if the native handle is valid. More...
 
NT_Publisher GetHandle () const
 Gets the native handle for the publisher. More...
 
Topic GetTopic () const
 Gets the published-to topic. More...
 

Additional Inherited Members

- Protected Member Functions inherited from nt::Subscriber
 Subscriber ()=default
 
 Subscriber (NT_Subscriber handle)
 
- Protected Member Functions inherited from nt::Publisher
 Publisher ()=default
 
 Publisher (NT_Publisher handle)
 
- Protected Attributes inherited from nt::Subscriber
NT_Subscriber m_subHandle {0}
 
- Protected Attributes inherited from nt::Publisher
NT_Publisher m_pubHandle {0}
 NetworkTables handle. More...
 

Detailed Description

template<typename T, typename... I>
requires wpi::StructSerializable<T, I...>
class nt::StructEntry< T, I >

NetworkTables struct-encoded value entry.

Note
Unlike NetworkTableEntry, the entry goes away when this is destroyed.

Member Typedef Documentation

◆ ParamType

template<typename T , typename... I>
using nt::StructEntry< T, I >::ParamType = const T&

◆ PublisherType

template<typename T , typename... I>
using nt::StructEntry< T, I >::PublisherType = StructPublisher<T, I...>

◆ SubscriberType

template<typename T , typename... I>
using nt::StructEntry< T, I >::SubscriberType = StructSubscriber<T, I...>

◆ TimestampedValueType

template<typename T , typename... I>
using nt::StructEntry< T, I >::TimestampedValueType = Timestamped<T>

◆ TopicType

template<typename T , typename... I>
using nt::StructEntry< T, I >::TopicType = StructTopic<T, I...>

◆ ValueType

template<typename T , typename... I>
using nt::StructEntry< T, I >::ValueType = T

Constructor & Destructor Documentation

◆ StructEntry() [1/2]

template<typename T , typename... I>
nt::StructEntry< T, I >::StructEntry ( )
default

◆ StructEntry() [2/2]

template<typename T , typename... I>
nt::StructEntry< T, I >::StructEntry ( NT_Entry  handle,
defaultValue,
const I &...  info 
)
inline

Construct from an entry handle; recommended to use StructTopic::GetEntry() instead.

Parameters
handleNative handle
defaultValueDefault value
infooptional struct type info

Member Function Documentation

◆ GetHandle()

template<typename T , typename... I>
NT_Entry nt::StructEntry< T, I >::GetHandle ( ) const
inline

Gets the native handle for the entry.

Returns
Native handle

◆ GetTopic()

template<typename T , typename... I>
TopicType nt::StructEntry< T, I >::GetTopic ( ) const
inline

Get the corresponding topic.

Returns
Topic

◆ operator bool()

template<typename T , typename... I>
nt::StructEntry< T, I >::operator bool ( ) const
inlineexplicit

Determines if the native handle is valid.

Returns
True if the native handle is valid, false otherwise.

◆ Unpublish()

template<typename T , typename... I>
void nt::StructEntry< T, I >::Unpublish ( )
inline

Stops publishing the entry if it's published.


The documentation for this class was generated from the following file: