Spicy
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
spicy::rt::filter::State< debug_type_name > Struct Template Reference

#include <filter.h>

Public Types

using _ParserDummy = struct { const char *name
 

Public Member Functions

 operator bool () const
 

Public Attributes

hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters__filters
 
hilti::rt::WeakReference<::spicy::rt::filter::detail::Forward__forward
 

Static Public Attributes

static _ParserDummy __parser = _ParserDummy{.name = debug_type_name}
 

Detailed Description

template<const char * debug_type_name>
struct spicy::rt::filter::State< debug_type_name >

Type holding state for filter operations inside types that can either act as filters or receive filtered input.

Note
The important thing for such types is that they offer these fields themselves, although not necessarily through this actual type. In particular, the unit structs that the Spicy code generator produces, include these fields directly; they are not using this type. This type is meant primarily for the runtime library when it needs to interface with filters (like sinks do).
Template Parameters
debug_type_namename used (only) in debug output to identify to the type
Todo:
(robin): Can/should we switch generated unit types over to using this struct as well?

Member Typedef Documentation

◆ _ParserDummy

template<const char * debug_type_name>
using spicy::rt::filter::State< debug_type_name >::_ParserDummy = struct { const char* name

Dummy struct capturing the type's name for debug purposes.

Member Function Documentation

◆ operator bool()

template<const char * debug_type_name>
spicy::rt::filter::State< debug_type_name >::operator bool ( ) const
inline

Returns true if at least one filter has been connected.

Member Data Documentation

◆ __filters

template<const char * debug_type_name>
hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters> spicy::rt::filter::State< debug_type_name >::__filters

List of connected filters.

◆ __forward

template<const char * debug_type_name>
hilti::rt::WeakReference<::spicy::rt::filter::detail::Forward> spicy::rt::filter::State< debug_type_name >::__forward

Destination for data being forwarded.

◆ __parser

template<const char * debug_type_name>
_ParserDummy spicy::rt::filter::State< debug_type_name >::__parser = _ParserDummy{.name = debug_type_name}
inlinestatic

Pseudo-parser object. It just needs to have a name.


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