FastUIDraw
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
util.hpp File Reference

file util.hpp More...

#include <stdint.h>
#include <stddef.h>
Include dependency graph for util.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  fastuidraw::false_type
 Class for type traits to indicate true. Functionally, a simplified version of std::false_type. More...
 
class  fastuidraw::is_const< T >
 
class  fastuidraw::noncopyable
 Class for which copy ctor and assignment operator are private functions. More...
 
class  fastuidraw::range_type< T >
 A class reprenting the STL range [m_begin, m_end). More...
 
class  fastuidraw::remove_const< T >
 
class  fastuidraw::remove_const< T const >
 
class  fastuidraw::same_const< T, S >
 
class  fastuidraw::true_type
 Class for type traits to indicate true. Functionally, a simplified version of std::true_type. More...
 

Namespaces

 fastuidraw
 all classes and functions of FastUIDraw are in the namespace fastuidraw.
 

Macros

#define FASTUIDRAW_MASK(BIT0, NUMBITS)   (FASTUIDRAW_MAX_VALUE_FROM_NUM_BITS(NUMBITS) << uint32_t(BIT0))
 
#define FASTUIDRAW_MASK_U64(BIT0, NUMBITS)   (FASTUIDRAW_MAX_VALUE_FROM_NUM_BITS_U64(NUMBITS) << uint64_t(BIT0))
 
#define FASTUIDRAW_MAX_VALUE_FROM_NUM_BITS(X)   ( (uint32_t(1) << uint32_t(X)) - uint32_t(1) )
 
#define FASTUIDRAW_MAX_VALUE_FROM_NUM_BITS_U64(X)   ( (uint64_t(1) << uint64_t(X)) - uint64_t(1) )
 
#define FASTUIDRAW_NUMBER_BLOCK4_NEEDED(X)   (FASTUIDRAW_ROUND_UP_MULTIPLE_OF4(X) >> 2u)
 
#define FASTUIDRAW_ROUND_UP_MULTIPLE_OF4(X)   (((X) + 3u) & ~3u)
 
#define FASTUIDRAWassert(X)
 
#define FASTUIDRAWmessaged_assert(X, Y)
 
#define FASTUIDRAWstatic_assert(X)   static_assert(X, #X)
 
#define FASTUIDRAWunused(X)   do { (void)(X); } while(0)
 

Typedefs

typedef const char * fastuidraw::c_string
 Conveniant typedef for C-style strings.
 

Enumerations

enum  fastuidraw::return_code { fastuidraw::routine_fail, fastuidraw::routine_success }
 Enumeration for simple return codes for functions for success or failure. More...
 

Functions

uint32_t fastuidraw::apply_bit_flag (uint32_t input_value, bool to_apply, uint32_t bitfield_value)
 
void fastuidraw::assert_fail (const char *str, const char *file, int line)
 
template<typename T >
range_type< T > fastuidraw::create_range (T a, T b)
 
bool fastuidraw::is_power_of_2 (uint32_t v)
 
uint32_t fastuidraw::next_power_of_2 (uint32_t v)
 
uint32_t fastuidraw::number_bits_required (uint32_t v)
 
uint32_t fastuidraw::pack_bits (uint32_t bit0, uint32_t num_bits, uint32_t value)
 
uint32_t fastuidraw::pack_float (float f)
 
uint32_t fastuidraw::uint32_log2 (uint32_t v)
 
uint64_t fastuidraw::uint64_apply_bit_flag (uint64_t input_value, bool to_apply, uint64_t bitfield_value)
 
bool fastuidraw::uint64_is_power_of_2 (uint64_t v)
 
uint64_t fastuidraw::uint64_log2 (uint64_t v)
 
uint64_t fastuidraw::uint64_next_power_of_2 (uint64_t v)
 
uint64_t fastuidraw::uint64_number_bits_required (uint64_t v)
 
uint64_t fastuidraw::uint64_pack_bits (uint64_t bit0, uint64_t num_bits, uint64_t value)
 
uint64_t fastuidraw::uint64_unpack_bits (uint64_t bit0, uint64_t num_bits, uint64_t value)
 
uint32_t fastuidraw::unpack_bits (uint32_t bit0, uint32_t num_bits, uint32_t value)
 
float fastuidraw::unpack_float (uint32_t v)
 

Detailed Description

file util.hpp

Adapted from: WRATHUtil.hpp and type_tag.hpp of WRATH:

Copyright 2013 by Nomovok Ltd. Contact: info@.nosp@m.nomo.nosp@m.vok.c.nosp@m.om This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

Author
Kevin Rogovin kevin.nosp@m..rog.nosp@m.ovin@.nosp@m.nomo.nosp@m.vok.c.nosp@m.om
Kevin Rogovin kevin.nosp@m..rog.nosp@m.ovin@.nosp@m.gmai.nosp@m.l.com

Definition in file util.hpp.