C3D Toolkit  Kernel - 117982, Vision -
generic_utility.h File Reference

Template utilities. More...

#include <memory.h>
#include <templ_sptr.h>
#include <assert.h>
#include <mb_variables.h>
#include <new>
#include <utility>
#include <functional>
#include <vector>


struct  null_type
 Empty data type. More...
struct  index_tag< size_t >
 Template to generate an indexed type (for static type-matching in compile-time)
struct  graph_traits< Graph >
 Graph datatype traits. More...
class  static_array< Elem, arrSize >
 Static vector. More...
struct  static_pair< Elem >
 Static vector of two elements (pair). More...
class  sorting_array< KeyType, _Pr >
 Dynamic container for storing elements of an ordered set. More...
struct  dbg_inspector< _PairUnion >
 Debug Inspector of union-container (NOT completed yet!). More...
struct  empty_variant
 Tail element for recursive determination of type recursive_union<T1,T2>. More...
struct  which_type< _PairUnion, _Type >
 Get type index from the list of union-container. More...
struct  type_which< T, idx >
 Get variant type with a given index. More...
struct  union_conductor< _PairUnion, typeNb, power >
 Conductor of visitor for recursively given container. More...
class  recursive_union< Type, Tail >
 Recursive definition of class "union-container". More...
class  aligned_union< T0, T1, T2, T3, T4, T5 >
 union-container for instance of type from a specific set of types. More...
struct  c3d::ref_pair< _Ty1, _Ty2 >
 A pair of references. More...


 C3D namespace declaration.


enum  color_code : char
 Color marking (used for graphs)


template<class T >
const T & max_of (const T &elem1, const T &elem2)
 Maximum of two.
template<class T >
const T & min_of (const T &elem1, const T &elem2)
 Maximum of two.
template<class T >
void swap_vals (T &elem1, T &elem2)
 Swap the values.
template<class T >
void swap_ptrs (T *&elem1, T *&elem2)
 Swap the values of pointers.
template<class Type >
void swap_ptrs (SPtr< Type > &p1, SPtr< Type > &p2)
 Swap the values of pointers.
template<typename IntegerType >
IntegerType gcd (IntegerType a, IntegerType b)
 Get GCD for a pair of integers.
template<class SortedArray >
bool check_ordering (const SortedArray &arr)
 Check for ordering array.
template<class DataSt >
DataSt null_struct ()
 Reset the data structure (use with caution!).
template<typename Type1 , typename Type2 >
ref_pair< Type1, Type2 > c3d::tie (Type1 &iter1, Type2 &iter2)
 Get references as one bunch.

Detailed Description

Template utilities.