void ximpl_core::fastformat_impl_handlers_uninit(void* token)
{
    FASTFORMAT_CONTRACT_ENFORCE_PRECONDITION_STATE_INTERNAL(NULL != token, "FastFormat error handlers have not been initialised");

    defectHandlers_context_t* ctxt = static_cast<defectHandlers_context_t*>(token);

    delete ctxt;
}
예제 #2
0
void ximpl_core::fastformat_impl_replacements_uninit(void* token)
{
    FASTFORMAT_COVER_MARK_ENTRY();

    FASTFORMAT_CONTRACT_ENFORCE_PRECONDITION_STATE_INTERNAL(NULL != token, "token must not be null");

    delete static_cast<replacements_context_t_*>(token);
}
예제 #3
0
inline size_t concat_slices(B& buff, size_t numResults, ff_string_slice_t const* results)
{
    ff_char_t*  p       =   &buff[0];
    size_t      total   =   0;

    { for(size_t i = 0; i != numResults; ++i, ++results)
    {
        FASTFORMAT_CONTRACT_ENFORCE_PRECONDITION_STATE_INTERNAL(total + results->len <= buff.size(), "insufficient space in buffer to write the results");

        STLSOFT_SUPPRESS_UNUSED(total);

        ::memcpy(p, results->ptr, results->len * sizeof(ff_char_t));

        p       +=  results->len;
        total   +=  results->len;
    }}

    return total;
}
예제 #4
0
int ximpl_core::fastformat_impl_replacements_init(void** ptoken)
{
    FASTFORMAT_CONTRACT_ENFORCE_PRECONDITION_STATE_INTERNAL(NULL != ptoken, "token pointer must not be null");

    FASTFORMAT_COVER_MARK_ENTRY();

    try
    {
        FASTFORMAT_COVER_MARK_ENTRY();

        replacements_context_t_* ctxt = new replacements_context_t_();

        if(NULL == ctxt)
        {
            FASTFORMAT_COVER_MARK_ENTRY();

            return FASTFORMAT_INIT_RC_OUT_OF_MEMORY;
        }

        *ptoken = ctxt;

        return FASTFORMAT_INIT_RC_SUCCESS;
    }
    catch(std::bad_alloc&)
    {
        FASTFORMAT_COVER_MARK_ENTRY();

        return FASTFORMAT_INIT_RC_OUT_OF_MEMORY;
    }
    catch(std::exception&)
    {
        FASTFORMAT_COVER_MARK_ENTRY();

        return FASTFORMAT_INIT_RC_UNSPECIFIED_EXCEPTION;
    }
    catch(...)
    {
        FASTFORMAT_COVER_MARK_ENTRY();

        return FASTFORMAT_INIT_RC_UNSPECIFIED_ERROR;
    }
}