File tree Expand file tree Collapse file tree 1 file changed +18
-0
lines changed
sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -669,6 +669,24 @@ private void generateChoiceSet(final List<Token> tokens) throws IOException
669
669
" }\n " ,
670
670
cppTypeName (tokens .get (0 ).encoding ().primitiveType ())));
671
671
672
+ out .append (String .format ("\n " +
673
+ " SBE_NODISCARD %1$s rawValue() const\n " +
674
+ " {\n " +
675
+ " %1$s val;\n " +
676
+ " std::memcpy(&val, m_buffer + m_offset, sizeof(%1$s));\n " +
677
+ " return val;\n " +
678
+ " }\n " ,
679
+ cppTypeName (tokens .get (0 ).encoding ().primitiveType ())));
680
+
681
+ out .append (String .format ("\n " +
682
+ " %1$s &rawValue(%2$s value)\n " +
683
+ " {\n " +
684
+ " std::memcpy(m_buffer + m_offset, &value, sizeof(%2$s));\n " +
685
+ " return *this;\n " +
686
+ " }\n " ,
687
+ bitSetName ,
688
+ cppTypeName (tokens .get (0 ).encoding ().primitiveType ())));
689
+
672
690
out .append (generateChoices (bitSetName , tokens .subList (1 , tokens .size () - 1 )));
673
691
out .append (generateChoicesDisplay (bitSetName , tokens .subList (1 , tokens .size () - 1 )));
674
692
out .append ("};\n " );
You can’t perform that action at this time.
0 commit comments