#include #include #include #include #include void operator >> (const YAML::Node& node, Field f) { IIntField::Builder bldr = IIntField::IBuilder::create(); std::string str; int sizeBit = IIntField::DFLT_SIZE_BITS; bool signed = IIntField::DFLT_IS_SIGNED; int lsBit = IIntField::DFLT_LS_BIT; IIntField::Mode mode = IIntField::DFLT_MODE; unsigned wordSwap = IIntField::DFLT_WORD_SWAP; std::string name; std::string description; node["name"] >> name; node["description"] >> description; node["address"] >> address; if( const YAML::Node *pName == node.FindValue("size") ) { *pName >> sizeBit; } if( const YAML::Node *pName == node.FindValue("lsBit") ) { *pName >> lsBit; } if( const YAML::Node *pName == node.FindValue("mode") ) { } bldr.name( name ); bldr.isSigned( isSigned ); bldr.mode( mode ); bldr.wordSwap( wordSwap ); bldr.sizeBits( sizeBit ); f = bldr->build( name ); f->setDescription( description ); }