WPILibC++ 2027.0.0-alpha-4
Loading...
Searching...
No Matches
wpi::nt::StructEntry< T, I > Class Template Referencefinal

NetworkTables struct-encoded value entry. More...

#include <wpi/nt/StructTopic.hpp>

Inheritance diagram for wpi::nt::StructEntry< T, I >:
wpi::nt::StructSubscriber< T, I... > wpi::nt::StructPublisher< T, I... > wpi::nt::Subscriber wpi::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 wpi::nt::StructSubscriber< T, I... >
using TopicType
using ValueType
using ParamType
using TimestampedValueType
Public Types inherited from wpi::nt::StructPublisher< T, I... >
using TopicType
using ValueType
using ParamType
using TimestampedValueType

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

Additional Inherited Members

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

Detailed Description

template<typename T, typename... I>
requires wpi::util::StructSerializable<T, I...>
class wpi::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 wpi::nt::StructEntry< T, I >::ParamType = const T&

◆ PublisherType

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

◆ SubscriberType

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

◆ TimestampedValueType

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

◆ TopicType

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

◆ ValueType

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

Constructor & Destructor Documentation

◆ StructEntry() [1/2]

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

◆ StructEntry() [2/2]

template<typename T, typename... I>
wpi::nt::StructEntry< T, I >::StructEntry ( NT_Entry handle,
T 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 wpi::nt::StructEntry< T, I >::GetHandle ( ) const
inline

Gets the native handle for the entry.

Returns
Native handle

◆ GetTopic()

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

Get the corresponding topic.

Returns
Topic

◆ operator bool()

template<typename T, typename... I>
wpi::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 wpi::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: