Changeset 4896 in CLRX


Ignore:
Timestamp:
Aug 14, 2019, 5:03:38 PM (2 months ago)
Author:
matszpk
Message:

CLRadeonExtender: ROCm: Move MsgPack? classes to API.

Location:
CLRadeonExtender/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/CLRX/amdbin/ROCmBinaries.h

    r4895 r4896  
    497497                ROCmMetadata& metadataInfo);
    498498
     499class MsgPackMapParser;
     500
     501class MsgPackArrayParser
     502{
     503private:
     504    const cxbyte*& dataPtr;
     505    const cxbyte* dataEnd;
     506    size_t count;
     507    void handleErrors();
     508public:
     509    MsgPackArrayParser(const cxbyte*& _dataPtr, const cxbyte* _dataEnd);
     510   
     511    void parseNil();
     512    bool parseBool();
     513    uint64_t parseInteger(cxbyte signess);
     514    double parseFloat();
     515    std::string parseString();
     516    Array<cxbyte> parseData();
     517    MsgPackArrayParser parseArray();
     518    MsgPackMapParser parseMap();
     519    size_t end(); // return left elements
     520   
     521    bool haveElements() const
     522    { return count!=0; }
     523};
     524
     525enum: cxbyte {
     526    MSGPACK_WS_UNSIGNED = 0,  // only unsigned
     527    MSGPACK_WS_SIGNED = 1,  // only signed
     528    MSGPACK_WS_BOTH = 2  // both signed and unsigned range checking
     529};
     530
     531class MsgPackMapParser
     532{
     533private:
     534    const cxbyte*& dataPtr;
     535    const cxbyte* dataEnd;
     536    size_t count;
     537    bool keyLeft;
     538    void handleErrors(bool key);
     539public:
     540    MsgPackMapParser(const cxbyte*& _dataPtr, const cxbyte* _dataEnd);
     541   
     542    void parseKeyNil();
     543    bool parseKeyBool();
     544    uint64_t parseKeyInteger(cxbyte signess);
     545    double parseKeyFloat();
     546    std::string parseKeyString();
     547    Array<cxbyte> parseKeyData();
     548    MsgPackArrayParser parseKeyArray();
     549    MsgPackMapParser parseKeyMap();
     550    void parseValueNil();
     551    bool parseValueBool();
     552    uint64_t parseValueInteger(cxbyte signess);
     553    double parseValueFloat();
     554    std::string parseValueString();
     555    Array<cxbyte> parseValueData();
     556    MsgPackArrayParser parseValueArray();
     557    MsgPackMapParser parseValueMap();
     558    void skipValue();
     559    size_t end(); // return left elements
     560   
     561    bool haveElements() const
     562    { return count!=0; }
     563};
     564
    499565};
    500566
  • CLRadeonExtender/trunk/amdbin/ROCmMetadata.cpp

    r4895 r4896  
    13571357}
    13581358
    1359 enum: cxbyte {
    1360     MSGPACK_WS_UNSIGNED = 0,  // only unsigned
    1361     MSGPACK_WS_SIGNED = 1,  // only signed
    1362     MSGPACK_WS_BOTH = 2  // both signed and unsigned range checking
    1363 };
    1364 
    1365 
    13661359static uint64_t parseMsgPackInteger(const cxbyte*& dataPtr, const cxbyte* dataEnd,
    13671360                cxbyte signess = MSGPACK_WS_BOTH)
     
    16441637    }
    16451638}
    1646 
    1647 class CLRX_INTERNAL MsgPackMapParser;
    1648 
    1649 class CLRX_INTERNAL MsgPackArrayParser
    1650 {
    1651 private:
    1652     const cxbyte*& dataPtr;
    1653     const cxbyte* dataEnd;
    1654     size_t count;
    1655     void handleErrors();
    1656 public:
    1657     MsgPackArrayParser(const cxbyte*& _dataPtr, const cxbyte* _dataEnd);
    1658    
    1659     void parseNil();
    1660     bool parseBool();
    1661     uint64_t parseInteger(cxbyte signess);
    1662     double parseFloat();
    1663     std::string parseString();
    1664     Array<cxbyte> parseData();
    1665     MsgPackArrayParser parseArray();
    1666     MsgPackMapParser parseMap();
    1667     size_t end(); // return left elements
    1668    
    1669     bool haveElements() const
    1670     { return count!=0; }
    1671 };
    1672 
    1673 class CLRX_INTERNAL MsgPackMapParser
    1674 {
    1675 private:
    1676     const cxbyte*& dataPtr;
    1677     const cxbyte* dataEnd;
    1678     size_t count;
    1679     bool keyLeft;
    1680     void handleErrors(bool key);
    1681 public:
    1682     MsgPackMapParser(const cxbyte*& _dataPtr, const cxbyte* _dataEnd);
    1683    
    1684     void parseKeyNil();
    1685     bool parseKeyBool();
    1686     uint64_t parseKeyInteger(cxbyte signess);
    1687     double parseKeyFloat();
    1688     std::string parseKeyString();
    1689     Array<cxbyte> parseKeyData();
    1690     MsgPackArrayParser parseKeyArray();
    1691     MsgPackMapParser parseKeyMap();
    1692     void parseValueNil();
    1693     bool parseValueBool();
    1694     uint64_t parseValueInteger(cxbyte signess);
    1695     double parseValueFloat();
    1696     std::string parseValueString();
    1697     Array<cxbyte> parseValueData();
    1698     MsgPackArrayParser parseValueArray();
    1699     MsgPackMapParser parseValueMap();
    1700     void skipValue();
    1701     size_t end(); // return left elements
    1702    
    1703     bool haveElements() const
    1704     { return count!=0; }
    1705 };
    17061639
    17071640//////////////////
Note: See TracChangeset for help on using the changeset viewer.