C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2
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>

Classes

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)
More...
 
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...
 

Namespaces

 c3d
 C3D namespace declaration.
 

Enumerations

enum  color_code : char
 Color marking (used for graphs)
 

Functions

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.