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
typedef CaseSelector famouso::mw::attributes::detail::CaseSelector< ResultType, res1, res2, res3, res4, res5, res6 >::type |
Member Function Documentation
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:
- include/mw/attributes/detail/CaseSelector.h