Skip to content
  • Lioncash's avatar
    ipc_helpers: Add PushEnum() member function to ResponseBuilder · 0a0b3c4b
    Lioncash authored
    Allows pushing strongly-typed enum members without the need to always
    cast them at the call sites.
    
    Note that we *only* allow strongly-typed enums in this case. The reason
    for this is that strongly typed enums have a guaranteed defined size, so
    the size of the data being pushed is always deterministic. With regular
    enums this can be a little more error-prone, so we disallow them.
    
    This function simply uses the underlying type of the enum to determine
    the size of the data. For example, if an enum is defined as:
    
    enum class SomeEnum : u16 {
      SomeEntry
    };
    
    if PushEnum(SomeEnum::SomeEntry); is called, then it will push a
    u16-size amount of data.
    0a0b3c4b
Loading