Exemplo n.º 1
0
const int *HexDecoder::GetDefaultDecodingLookupArray()
{
    static bool s_initialized = false;
    static int s_array[256];

    if (!s_initialized)
    {
        InitializeDecodingLookupArray(s_array, s_vecUpper, 16, true);
        s_initialized = true;
    }
    return s_array;
}
Exemplo n.º 2
0
const int *Base64Decoder::GetDecodingLookupArray()
{
    static volatile bool s_initialized = false;
    static int s_array[256];

    if (!s_initialized)
    {
        InitializeDecodingLookupArray(s_array, s_vec, 64, false);
        s_initialized = true;
    }
    return s_array;
}
Exemplo n.º 3
0
const int *AltBase32Decoder::GetDefaultDecodingLookupArray()
{
	static volatile bool s_initialized = false;
	static int s_array[256];

	if (!s_initialized)
	{
		InitializeDecodingLookupArray(s_array, s_vecUpper, 32, true);
		s_initialized = true;
	}
	return s_array;
}
Exemplo n.º 4
0
const int *Base64Decoder::GetDecodingLookupArray()
{
    static std::once_flag s_initialized_flag;
    static std::atomic<bool> s_initialized(false);
    static int s_array[256];

    std::call_once(s_initialized_flag, [] {
        InitializeDecodingLookupArray(s_array, s_vec, 64, false);
        s_initialized = true;
    });

    while (!s_initialized)
        std::this_thread::yield();

    return s_array;
}