Menu

famouso::mw::attributes::detail::CaseSelector< ResultType, res1, res2, res3, res4, res5, res6 > Struct Template Reference

#include <CaseSelector.h>

Data Structures

struct  select_ct

Public Types

typedef CaseSelector type

Static Public Member Functions

static const ResultType select_rt (const AttributeElementHeader *const header)
 Performs the case selection on a given binary representation of an attribute header.

Detailed Description

template<typename ResultType, ResultType res1, ResultType res2, ResultType res3, ResultType res4, ResultType res5, ResultType res6>
struct famouso::mw::attributes::detail::CaseSelector< ResultType, res1, res2, res3, res4, res5, res6 >

Template struct allowing to decide the 6 different cases for the structure of an attribute header:

1. High density attribute, value fits unextended 2. High density attribute, value fits extended 3. High density attribute, length fits unextended 4. High density attribute, length fits extended

5. Low density attribute, length fits unextended 6. Low density attribute, length fits extended

The specific case is decided on the given attribute type and depending on the decided case one of the arguments res1 to res6 is calculated


Member Typedef Documentation

template<typename ResultType, ResultType res1, ResultType res2, ResultType res3, ResultType res4, ResultType res5, ResultType res6>
typedef CaseSelector famouso::mw::attributes::detail::CaseSelector< ResultType, res1, res2, res3, res4, res5, res6 >::type

Member Function Documentation

template<typename ResultType, ResultType res1, ResultType res2, ResultType res3, ResultType res4, ResultType res5, ResultType res6>
static const ResultType famouso::mw::attributes::detail::CaseSelector< ResultType, res1, res2, res3, res4, res5, res6 >::select_rt ( const AttributeElementHeader *const   header  )  [inline, static]

Performs the case selection on a given binary representation of an attribute header.

Returns:
The value appropriate for the selected case as defined as a template argument for this struct

References famouso::mw::attributes::detail::AttributeElementHeader::extension, famouso::mw::attributes::detail::AttributeElementHeader::isHighDensity(), and famouso::mw::attributes::detail::AttributeElementHeader::lengthValueSwitch.

Referenced by famouso::mw::attributes::access::AttributeHeader_RT::headerLength().


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