gambit is hosted by Hepforge, IPPP Durham
GAMBIT  v1.5.0-252-gf9a3f78
a Global And Modular Bsm Inference Tool
util_types.hpp File Reference

General small utility classes, typedefs, etc. More...

#include <map>
#include <string>
#include <sstream>
#include <omp.h>
#include <cstring>
#include <complex>
#include "gambit/Utils/standalone_error_handlers.hpp"
#include "gambit/Utils/variadic_functions.hpp"
#include "gambit/Utils/local_info.hpp"
Include dependency graph for util_types.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Gambit::triplet< TYPE >
 
struct  Gambit::dbl_dbl_bool
 
class  Gambit::safe_ptr< TYPE >
 A safe pointer that throws an informative error if you try to dereference it when nullified, and cannot be used to overwrite the thing it points to. More...
 
class  Gambit::omp_safe_ptr< TYPE >
 A safe pointer designed to point at an array, and return the entry in that array corresponding to the current OpenMP thread. More...
 
class  Gambit::safe_variable_ptr< TYPE >
 A safe variable pointer that throws an informative error if you try to dereference it when nullified, but unlike safe_ptr it can be used to overwrite the thing it points to. More...
 
class  Gambit::Farray< T, lims >
 Array class that matches the memory structure and functionality of arrays in Fortran codes Syntax: Farray<[type], [lower index, dim 1], [upper index, dim 1], [alternating lower/upper indices for subsequent dimensions]> DO NOT UNDER ANY CIRCUMSTANCE add new member variables to this class! This would break the crucial memory structure. More...
 
struct  Gambit::Farray< T, lims >::calc_nElem< _lims >
 
struct  Gambit::Farray< T, lims >::calc_nElem< limL, limU, _lims... >
 
struct  Gambit::Farray< T, lims >::calc_nElem< limL, limU >
 
class  Gambit::Fstring< len >
 Farray specialization for Fortran strings. More...
 
class  Gambit::FstringArray< len, lims >
 Farray specialization for Fortran arrays of strings. More...
 
class  Gambit::FcomplexT< T >
 Fortran complex type. More...
 

Namespaces

 Gambit
 TODO: see if we can use this one:
 

Typedefs

typedef std::pair< str, str > Gambit::sspair
 Shorthand for a pair of standard strings. More...
 
typedef std::pair< double, doubleGambit::ddpair
 Shorthand for a pair of doubles. More...
 
typedef std::map< std::string, intGambit::map_str_int
 Shorthand for a string-to-int map. More...
 
typedef std::map< std::string, std::map< std::string, double > > Gambit::map_str_map_str_dbl
 Shorthand for a string-to-string-to-double map. More...
 
typedef std::map< std::string, std::string > Gambit::map_str_str
 Shorthand for a string-to-string map. More...
 
typedef std::map< std::string, std::map< std::string, std::string > > Gambit::map_str_map_str_str
 Shorthand for a string-to-string-to-string map. More...
 
typedef std::map< std::pair< int, int >, doubleGambit::map_intpair_dbl
 Shorthand for an int-int pair to double map. More...
 
typedef void(* Gambit::fptr_void) ()
 Shorthand for a pointer to a void function with no arguments. More...
 
typedef std::map< int, triplet< double > > Gambit::map_int_triplet_dbl
 Shorthand for an int-to-double triplet map. More...
 
typedef FcomplexT< float > Gambit::Fcomplex
 Fortran type typedefs TODO: Implement compiler dependent macros ensuring that these are always correct. More...
 
typedef FcomplexT< float > Gambit::Fcomplex8
 
typedef FcomplexT< doubleGambit::Fcomplex16
 
typedef FcomplexT< doubleGambit::Fdouble_complex
 
typedef FcomplexT< long doubleGambit::Flongdouble_complex
 
typedef char Gambit::Fcharacter
 
typedef double Gambit::Fdouble
 
typedef double Gambit::Fdouble_precision
 
typedef double Gambit::Fdoubleprecision
 
typedef int Gambit::Finteger
 
typedef short Gambit::Finteger2
 
typedef long int Gambit::Finteger4
 
typedef long long Gambit::Finteger8
 
typedef int32_t Gambit::Flogical
 
typedef bool Gambit::Flogical1
 
typedef float Gambit::Freal
 
typedef float Gambit::Freal4
 
typedef double Gambit::Freal8
 
typedef long double Gambit::Freal16
 
typedef void Gambit::MVoid
 Types used for Mathematica backends. More...
 
typedef int Gambit::MInteger
 
typedef double Gambit::MReal
 
typedef bool Gambit::MBool
 
typedef char Gambit::MChar
 
typedef std::string Gambit::MString
 
template<typename T >
using Gambit::MList = std::vector< T >
 

Detailed Description

General small utility classes, typedefs, etc.


Authors (add name and date if you modify):

Author
Pat Scott (patsc.nosp@m.ott@.nosp@m.physi.nosp@m.cs.m.nosp@m.cgill.nosp@m..ca)
Date
2013 Apr++
Author
Ben Farmer (benja.nosp@m.min..nosp@m.farme.nosp@m.r@mo.nosp@m.nash..nosp@m.edu)
Date
2013 Jun
Author
Torsten Bringmann (torst.nosp@m.en.b.nosp@m.ringm.nosp@m.ann@.nosp@m.desy..nosp@m.de)
Date
2013 Jun
Author
Anders Kvellestad (ander.nosp@m.s.kv.nosp@m.elles.nosp@m.tad@.nosp@m.fys.u.nosp@m.io.n.nosp@m.o)
Date
2013 Nov
Author
Lars A. Dal (l.a.d.nosp@m.al@f.nosp@m.ys.ui.nosp@m.o.no)
Date
2014 Jan, Mar
2015 Jan, Feb
Author
Tomas Gonzalo (t.e.g.nosp@m.onza.nosp@m.lo@fy.nosp@m.s.ui.nosp@m.o.no)
Date
2016 May, Dec
2018 Oct
2020 May
Author
Aaron Vincent (aaron.nosp@m..vin.nosp@m.cent@.nosp@m.cpar.nosp@m.c.ca)
Date
2017 Nov

Definition in file util_types.hpp.