struct axl::sl::Guid

#include <axl_sl_Guid.h>

struct Guid
{
    // fields

    union
    {
        struct
        {
            uint32_t m_data1;
            uint16_t m_data2;
            uint16_t m_data3;
            uint8_t m_data4[8];
        };

        struct
        {
            uint32_t m_dword1;
            uint32_t m_dword2;
            uint32_t m_dword3;
            uint32_t m_dword4;
        };
    };

    // methods

    bool
    operator==(const Guid& guid) const;

    bool
    operator!=(const Guid& guid) const;

    int
    cmp(const Guid& guid) const;

    size_t
    hash() const;

    bool
    isNull() const;

    bool
    isEqual(const Guid& guid) const;

    sl::String
    getString(uint_t flags = 0) const;

    void
    setup(
        uint32_t l,
        uint16_t s1,
        uint16_t s2,
        uint8_t b1,
        uint8_t b2,
        uint8_t b3,
        uint8_t b4,
        uint8_t b5,
        uint8_t b6,
        uint8_t b7,
        uint8_t b8
        );

    bool
    parse(const sl::StringRef& string);

    bool
    generate();
};