Sygaldry
Loading...
Searching...
No Matches
sygah-endpoints: Endpoints Helpers

Modules

 sygah-endpoints: Endpoints Bases
 

Classes

struct  sygaldry::num_literal< T >
 A wrapper around a numeric literal that enables using floats as template parameters. More...
 
struct  sygaldry::tag_write_only
 Write only tag helper. More...
 
struct  sygaldry::tag_session_data
 Session data tag helper. More...
 
struct  sygaldry::tagged_< Tags >
 Apply the tag helpers classes Tags to an entity, especially an endpoint. More...
 
struct  sygaldry::button< name_str, desc, init, Tags >
 A two-state integer endpoint with occasional message semantics. More...
 
struct  sygaldry::toggle< name_str, desc, init, Tags >
 A two-state integer endpoint with persistent value semantics. More...
 
struct  sygaldry::text< name_str, desc, Tags >
 A text string endpoint with persistent value semantics. More...
 
struct  sygaldry::text_message< name_str, desc, Tags >
 A text string endpoint with occasional message semantics. More...
 
struct  sygaldry::slider< name_str, desc, T, min, max, init, Tags >
 A numeric endpoint with user customizeable range and persistent value semantics. More...
 
struct  sygaldry::slider_message< name_str, desc, T, min, max, init, Tags >
 A numeric endpoint with user customizeable range and occasional value semantics. More...
 
struct  sygaldry::array< name_str, N, desc, T, min, max, init, Tags >
 A multi-dimensional numeric endpoint with user customizeable range and persistent value semantics. More...
 
struct  sygaldry::array_message< name_str, N, desc, T, min, max, init, Tags >
 A multi-dimensional numeric endpoint with user customizeable range and occasional message semantics. More...
 
struct  sygaldry::bng< name_str, desc, Tags >
 A semantically value-less endpoint that signals an event. More...
 

Macros

#define tag(TAG)   struct tag_##TAG {enum {TAG}; }
 Helper struct for defining recognized tags. This is immediately undefed, so don't try to use it!
 

Detailed Description

The endpoint helpers are intended to serve as value-like types. Users can declare instances of these templates in the inputs and outputs structures of a component to add endpoints with convenient APIs, documenting them through the template parameters of the helper. See any component in the component library for numerous examples.

Macro Definition Documentation

◆ tag

#define tag (   TAG)    struct tag_##TAG {enum {TAG}; }

Helper struct for defining recognized tags. This is immediately undefed, so don't try to use it!

Tags are indicated by the existence of a bare enumeration value with a certain name in the scope of a struct. This macro is used to define helper classes that define a certain enumeration tag. Endpoint types can then inherit the helper class to mark themselves with the corresponding tag.