class log.Representation

class Representation {
    // fields

    uint64_t readonly m_timestamp;
    uint64_t readonly m_recordCode;
    log.LineAttr m_lineAttr;
    ui.TextAttr m_auxTextAttr;

    // methods

    void addPart(
        log.PartKind partKind,
        uint64_t partCode,
        void const* p,
        size_t size
    );

    void retroColorize(
        intptr_t retroOffset,
        size_t length,
        ui.TextAttr attr,
        log.RetroColorizeFlags flags = 0
    );

    void addBreak();

    void addPlainText(
        uint64_t partCode,
        string_t text
    );

    void addPlainText(string_t text);

    void addHyperText(
        uint64_t partCode,
        string_t text
    );

    void addHyperText(string_t text);

    void addBin(
        uint64_t partCode,
        void const* p,
        size_t size
    );

    void addBin(
        void const* p,
        size_t size
    );

    void addBinPreview(
        uint64_t partCode,
        void const* p,
        size_t size
    );

    void addBinPreview(
        void const* p,
        size_t size
    );

    void addDualBin(
        uint64_t partCode,
        void const* p1,
        void const* p2,
        size_t size
    );

    void addDualBin(
        void const* p1,
        void const* p2,
        size_t size
    );

    void addDualBinPreview(
        uint64_t partCode,
        void const* p1,
        void const* p2,
        size_t size
    );

    void addDualBinPreview(
        void const* p1,
        void const* p2,
        size_t size
    );
};