class axl::sl::Unpacker

#include <axl_sl_Unpacker.h>

class Unpacker
{
public:
    // construction

    Unpacker();

    Unpacker(
        const void* p,
        size_t size
        );

    // methods

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

    void
    clear();

    void
    rewind();

    size_t
    getLeftoverSize();

    bool
    unpack(
        void* p,
        size_t size
        );

    template <
        typename T,
        typename Unpack
        >
    bool
    unpack(T* value);

    template <typename T>
    bool
    unpack(T* value);

    size_t
    scan_va(
        const char* formatString,
        axl_va_list va
        );

    size_t
    scan(
        const char* formatString,
        ...
        );
};