SST/macro
Namespaces | Classes | Functions
sprockit Namespace Reference

Namespaces

 modal_mixin
 
 pvt
 

Classes

class  CleanupFactory
 
class  debug
 
class  debug_int
 The debug_int class is an opaque wrapper around an integer used for checking if debug slots are active. More...
 
class  debug_prefix_fxn
 The debug_prefix_fxn class Produces a string prefix (dynamically, called every time) that can be registered with the debug system to add extra metadata to each debug print. More...
 
class  debug_register_slot
 The debug_register_slot class. More...
 
class  Factory
 
class  factory
 
class  factory2
 
class  factory_type
 
struct  illformed_error
 An error indicating some format was not correct. More...
 
struct  input_error
 Invalid user input. More...
 
struct  invalid_key_error
 Key to a map was not in the map. More...
 
struct  io_error
 File open, read, or write error. More...
 
struct  is_base_of
 
struct  iterator_error
 Something happened when iterating over a collection. More...
 
class  KeywordRegistration
 
struct  library_error
 A general error somewhere from a library. More...
 
struct  memory_error
 Something happened when allocating, deallocating, or mapping a memory region. More...
 
class  metadata_bits
 
class  mpi_param_bcaster
 
class  need_delete_statics
 
struct  not_ported_error
 Exception indicating that chosen path is not yet ported to new framework. More...
 
struct  null_error
 Error indicating something was null and shouldn't have been. More...
 
struct  os_error
 An error having to do with an operating system. More...
 
class  output
 
class  printable_ptr_type
 
class  ptr_type
 
struct  range_error
 An index was out of range in a collection. More...
 
class  refcount_ptr
 
class  serializable
 
class  serializable_builder
 
class  serializable_builder_impl
 
class  serializable_factory
 
class  serializable_type
 
class  serialize
 
class  serialize< bool >
 
class  serialize< const sprockit::refcount_ptr< T > >
 
class  serialize< serializable * >
 
class  serialize< spkt_unordered_map< Key, Value > >
 
class  serialize< spkt_unordered_set< T > >
 
class  serialize< sprockit::refcount_ptr< const T > >
 
class  serialize< sprockit::refcount_ptr< T > >
 
class  serialize< std::deque< T > >
 
class  serialize< std::list< T > >
 
class  serialize< std::map< Key, Value > >
 
class  serialize< std::set< T > >
 
class  serialize< std::string >
 
class  serialize< std::vector< T > >
 
class  serialize< T[N]>
 
class  serialize_ptr
 
class  serialize_ptr< T, false >
 
class  serialize_ptr< T, true >
 
class  serializer
 This class is basically a wrapper for objects to declare the order in which their members should be ser/des. More...
 
struct  spkt_error
 General errors, or base class for more specific errors. More...
 
class  SpktBuilder
 
class  SpktBuilderImpl
 
class  SpktBuilderImpl< Child, Factory< Parent, Args... > >
 
class  SpktFileIO
 
class  StaticKeywordRegister
 
class  StaticKeywordRegisterRegexp
 
class  StaticNamespaceRegister
 
class  statics
 
class  template_factory
 
class  template_factory2
 
struct  time_error
 An error indicating something to do with the advancement of simulation time. More...
 
struct  unimplemented_error
 A function was intentionally unimplemented because it doesn't make sense, or it is ongoing work. More...
 
struct  value_error
 Error indicating some internal value was unexpected. More...
 

Functions

std::string trim_str (const std::string &Src, const std::string &c=" \r\n")
 
debug_int operator| (const debug_int &lhs, const debug_int &rhs)
 
debug_int operator& (const debug_int &lhs, const debug_int &rhs)
 
template<class Container >
void delete_all (const Container &ctr)
 
template<class Container >
void delete_arrs (const Container &ctr)
 
template<class MapType >
void delete_vals_arrs (const MapType &ctr)
 
template<class MapType >
void delete_vals (const MapType &ctr)
 
template<class MapType >
void delete_keys (const MapType &ctr)
 
template<class MapType >
void delete_keys_and_vals (const MapType &ctr)
 
double get_positive_float (const char *value, bool &errorflag)
 
int get_int (const char *value, bool &errorflag)
 
int get_positive_int (const char *value, bool &errorflag)
 
void get_intvec (const char *value, bool &errorflag, std::vector< int > &retval)
 
std::vector< int > get_intvec (const char *value, bool &errorflag)
 
static sim_parameters * MPI_Bcast_params (const std::string &fname)
 
template<class Out , class In >
sprockit::refcount_ptr< Out > __safe_ptr_cast__ (const char *objname, const char *file, int line, const sprockit::refcount_ptr< In > &in, const char *error_msg="error")
 
void operator& (serializer &ser, void *v)
 
template<class T >
void operator& (serializer &ser, T *&t)
 
template<class T >
void operator& (serializer &ser, T &t)
 
template<class TPtr , class IntType >
pvt::ser_array_wrapper< TPtr, IntType > array (TPtr &buf, IntType &size)
 I have typedefing pointers, but no other way. More...
 
template<class TPtr >
pvt::raw_ptr_wrapper< TPtr > raw_ptr (TPtr *&ptr)
 
template<class TPtr , class IntType >
void operator& (serializer &ser, pvt::ser_array_wrapper< TPtr, IntType > arr)
 
template<class TPtr >
void operator& (serializer &ser, pvt::raw_ptr_wrapper< TPtr > ptr)
 
template<class T >
void serialize_intrusive_ptr (T *&t, serializer &ser)
 
template<class A >
void spkt_to_stream (std::ostream &os, const A &a)
 
template<class A , class B >
void spkt_to_stream (std::ostream &os, const A &a, const B &b)
 
template<class A , class B , class C >
void spkt_to_stream (std::ostream &os, const A &a, const B &b, const C &c)
 
template<class A , class B , class C , class D >
void spkt_to_stream (std::ostream &os, const A &a, const B &b, const C &c, const D &d)
 
template<class A , class B , class C , class D , class E >
void spkt_to_stream (std::ostream &os, const A &a, const B &b, const C &c, const D &d, const E &e)
 
template<class A , class B , class C , class D , class E , class F >
void spkt_to_stream (std::ostream &os, const A &a, const B &b, const C &c, const D &d, const E &e, const F &f)
 
template<class A , class B , class C , class D , class E , class F , class G >
void spkt_to_stream (std::ostream &os, const A &a, const B &b, const C &c, const D &d, const E &e, const F &f, const G &g)
 
template<class A , class B , class C , class D , class E , class F , class G , class H >
void spkt_to_stream (std::ostream &os, const A &a, const B &b, const C &c, const D &d, const E &e, const F &f, const G &g, const H &h)
 
template<class A , class B , class C , class D , class E , class F , class G , class H , class I >
void spkt_to_stream (std::ostream &os, const A &a, const B &b, const C &c, const D &d, const E &e, const F &f, const G &g, const H &h, const I &i)
 
template<class A , class B , class C , class D , class E , class F , class G , class H , class I , class J >
void spkt_to_stream (std::ostream &os, const char *file, int line, const A &a, const B &b, const C &c, const D &d, const E &e, const F &f, const G &g, const H &h, const I &i, const J &j)
 
template<class A , class B , class C , class D , class E , class F , class G , class H , class I , class J , class K >
void spkt_to_stream (std::ostream &os, const A &a, const B &b, const C &c, const D &d, const E &e, const F &f, const G &g, const H &h, const I &i, const J &j, const K &k)
 
template<class A , class B , class C , class D , class E , class F , class G , class H , class I , class J , class K , class L >
void spkt_to_stream (std::ostream &os, const A &a, const B &b, const C &c, const D &d, const E &e, const F &f, const G &g, const H &h, const I &i, const J &j, const K &k, const L &l)
 
template<class A , class B , class C , class D , class E , class F , class G , class H , class I , class J , class K , class L , class M >
void spkt_to_stream (std::ostream &os, const A &a, const B &b, const C &c, const D &d, const E &e, const F &f, const G &g, const H &h, const I &i, const J &j, const K &k, const L &l, const M &m)
 
template<class A , class B , class C , class D , class E , class F , class G , class H , class I , class J , class K , class L , class M , class N >
void spkt_to_stream (std::ostream &os, const A &a, const B &b, const C &c, const D &d, const E &e, const F &f, const G &g, const H &h, const I &i, const J &j, const K &k, const L &l, const M &m, const N &n)
 
template<class A , class B , class C , class D , class E , class F , class G , class H , class I , class J , class K , class L , class M , class N , class O >
void spkt_to_stream (std::ostream &os, const A &a, const B &b, const C &c, const D &d, const E &e, const F &f, const G &g, const H &h, const I &i, const J &j, const K &k, const L &l, const M &m, const N &n, const O &o)
 
 prim_printf_type (const char *) prim_printf_type(void *) prim_printf_type(double) prim_printf_type(float) prim_printf_type(unsigned long) prim_printf_type(long) prim_printf_type(unsigned int) prim_printf_type(int) prim_printf_type(unsigned short) prim_printf_type(short) prim_printf_type(unsigned long long) prim_printf_type(long long) inline const char *to_pod(const std
 
std::string printf (const char *fmt,...)
 
int64_t multiply64 (int64_t a, int64_t b, bool &errorflag)
 Multiply two 64 bit integer values and check for overflow. More...
 
void populate_bandwidth_names (std::map< std::string, int64_t > &abbrname, std::map< std::string, int64_t > &fullname)
 
double get_bandwidth (const char *value, bool &errorflag, bool print_errors=false)
 
double get_bandwidth (const char *value)
 
double get_frequency (const char *value, bool &errorflag, bool print_errors=false)
 
long byte_length (const char *value, bool &errorflag, bool print_errors=false)
 
void populate_timestamp_names (std::map< std::string, int64_t > &value)
 
void populate_frequency_names (std::map< std::string, int64_t > &value)
 
double get_timestamp (const char *value, bool &errorflag, bool print_errors=false)
 Get a timestamp possiblly suffixed with any of the identifiers psec, nsec, usec, msec, sec, ps, ns, us, ms, s. More...
 
template<class Out , class In >
Out * __safe_cast__ (const char *objname, const char *file, int line, In *in, const char *error_msg="error")
 
template<class maptype , class keytype >
const maptype::mapped_type & mapget (const maptype &mapobj, const keytype &keyobj, const char *errormsg)
 

Function Documentation

template<class Out , class In >
Out* sprockit::__safe_cast__ ( const char *  objname,
const char *  file,
int  line,
In *  in,
const char *  error_msg = "error" 
)

Definition at line 27 of file util.h.

References spkt_throw_printf.

template<class Out , class In >
sprockit::refcount_ptr<Out> sprockit::__safe_ptr_cast__ ( const char *  objname,
const char *  file,
int  line,
const sprockit::refcount_ptr< In > &  in,
const char *  error_msg = "error" 
)

Definition at line 65 of file ptr_type.h.

References sprockit::refcount_ptr< T >::get(), and spkt_throw_printf.

Here is the call graph for this function:

template<class TPtr , class IntType >
pvt::ser_array_wrapper<TPtr,IntType> sprockit::array ( TPtr &  buf,
IntType &  size 
)

I have typedefing pointers, but no other way.

T could be "void and TPtr void*

Definition at line 43 of file serialize_array.h.

long sprockit::byte_length ( const char *  value,
bool &  errorflag,
bool  print_errors = false 
)
template<class Container >
void sprockit::delete_all ( const Container &  ctr)

Definition at line 8 of file delete.h.

template<class Container >
void sprockit::delete_arrs ( const Container &  ctr)

Definition at line 18 of file delete.h.

template<class MapType >
void sprockit::delete_keys ( const MapType &  ctr)

Definition at line 50 of file delete.h.

template<class MapType >
void sprockit::delete_keys_and_vals ( const MapType &  ctr)

Definition at line 61 of file delete.h.

template<class MapType >
void sprockit::delete_vals ( const MapType &  ctr)

Definition at line 39 of file delete.h.

template<class MapType >
void sprockit::delete_vals_arrs ( const MapType &  ctr)

Definition at line 28 of file delete.h.

double sprockit::get_bandwidth ( const char *  value,
bool &  errorflag,
bool  print_errors = false 
)
double sprockit::get_bandwidth ( const char *  value)
double sprockit::get_frequency ( const char *  value,
bool &  errorflag,
bool  print_errors = false 
)
int sprockit::get_int ( const char *  value,
bool &  errorflag 
)
void sprockit::get_intvec ( const char *  value,
bool &  errorflag,
std::vector< int > &  retval 
)
std::vector<int> sprockit::get_intvec ( const char *  value,
bool &  errorflag 
)
double sprockit::get_positive_float ( const char *  value,
bool &  errorflag 
)
int sprockit::get_positive_int ( const char *  value,
bool &  errorflag 
)
double sprockit::get_timestamp ( const char *  value,
bool &  errorflag,
bool  print_errors = false 
)

Get a timestamp possiblly suffixed with any of the identifiers psec, nsec, usec, msec, sec, ps, ns, us, ms, s.

template<class maptype , class keytype >
const maptype::mapped_type& sprockit::mapget ( const maptype &  mapobj,
const keytype &  keyobj,
const char *  errormsg 
)

Definition at line 60 of file util.h.

References spkt_throw_printf.

static sim_parameters* sprockit::MPI_Bcast_params ( const std::string &  fname)
inlinestatic

Definition at line 20 of file mpi_parameters.h.

int64_t sprockit::multiply64 ( int64_t  a,
int64_t  b,
bool &  errorflag 
)

Multiply two 64 bit integer values and check for overflow.

This would be two lines if we had 128-bit integers.

template<class TPtr , class IntType >
void sprockit::operator& ( serializer ser,
pvt::ser_array_wrapper< TPtr, IntType >  arr 
)
inline
template<class TPtr >
void sprockit::operator& ( serializer ser,
pvt::raw_ptr_wrapper< TPtr >  ptr 
)
inline

Definition at line 66 of file serialize_array.h.

References sprockit::pvt::raw_ptr_wrapper< TPtr >::bufptr, and sprockit::serializer::primitive().

Here is the call graph for this function:

debug_int sprockit::operator& ( const debug_int lhs,
const debug_int rhs 
)
inline

Definition at line 80 of file debug.h.

References sprockit::debug_int::fields.

void sprockit::operator& ( serializer ser,
void *  v 
)
inline

Definition at line 111 of file serialize.h.

References sprockit::serializer::primitive().

Here is the call graph for this function:

template<class T >
void sprockit::operator& ( serializer ser,
T *&  t 
)
inline

Definition at line 117 of file serialize.h.

template<class T >
void sprockit::operator& ( serializer ser,
T &  t 
)
inline

Definition at line 123 of file serialize.h.

debug_int sprockit::operator| ( const debug_int lhs,
const debug_int rhs 
)
inline

Definition at line 72 of file debug.h.

References sprockit::debug_int::fields.

void sprockit::populate_bandwidth_names ( std::map< std::string, int64_t > &  abbrname,
std::map< std::string, int64_t > &  fullname 
)
void sprockit::populate_frequency_names ( std::map< std::string, int64_t > &  value)
void sprockit::populate_timestamp_names ( std::map< std::string, int64_t > &  value)
sprockit::prim_printf_type ( const char *  ) const

Definition at line 312 of file spkt_string.h.

References printf(), and pst::BasicStringTokenizer::trim().

Here is the call graph for this function:

std::string sprockit::printf ( const char *  fmt,
  ... 
)
template<class TPtr >
pvt::raw_ptr_wrapper<TPtr> sprockit::raw_ptr ( TPtr *&  ptr)
inline

Definition at line 50 of file serialize_array.h.

template<class T >
void sprockit::serialize_intrusive_ptr ( T *&  t,
serializer ser 
)
template<class A >
void sprockit::spkt_to_stream ( std::ostream &  os,
const A &  a 
)

Definition at line 19 of file spkt_string.h.

template<class A , class B >
void sprockit::spkt_to_stream ( std::ostream &  os,
const A &  a,
const B &  b 
)

Definition at line 28 of file spkt_string.h.

template<class A , class B , class C >
void sprockit::spkt_to_stream ( std::ostream &  os,
const A &  a,
const B &  b,
const C &  c 
)

Definition at line 38 of file spkt_string.h.

template<class A , class B , class C , class D >
void sprockit::spkt_to_stream ( std::ostream &  os,
const A &  a,
const B &  b,
const C &  c,
const D &  d 
)

Definition at line 49 of file spkt_string.h.

template<class A , class B , class C , class D , class E >
void sprockit::spkt_to_stream ( std::ostream &  os,
const A &  a,
const B &  b,
const C &  c,
const D &  d,
const E &  e 
)

Definition at line 63 of file spkt_string.h.

template<class A , class B , class C , class D , class E , class F >
void sprockit::spkt_to_stream ( std::ostream &  os,
const A &  a,
const B &  b,
const C &  c,
const D &  d,
const E &  e,
const F &  f 
)

Definition at line 78 of file spkt_string.h.

template<class A , class B , class C , class D , class E , class F , class G >
void sprockit::spkt_to_stream ( std::ostream &  os,
const A &  a,
const B &  b,
const C &  c,
const D &  d,
const E &  e,
const F &  f,
const G &  g 
)

Definition at line 94 of file spkt_string.h.

template<class A , class B , class C , class D , class E , class F , class G , class H >
void sprockit::spkt_to_stream ( std::ostream &  os,
const A &  a,
const B &  b,
const C &  c,
const D &  d,
const E &  e,
const F &  f,
const G &  g,
const H &  h 
)

Definition at line 112 of file spkt_string.h.

template<class A , class B , class C , class D , class E , class F , class G , class H , class I >
void sprockit::spkt_to_stream ( std::ostream &  os,
const A &  a,
const B &  b,
const C &  c,
const D &  d,
const E &  e,
const F &  f,
const G &  g,
const H &  h,
const I &  i 
)

Definition at line 132 of file spkt_string.h.

template<class A , class B , class C , class D , class E , class F , class G , class H , class I , class J >
void sprockit::spkt_to_stream ( std::ostream &  os,
const char *  file,
int  line,
const A &  a,
const B &  b,
const C &  c,
const D &  d,
const E &  e,
const F &  f,
const G &  g,
const H &  h,
const I &  i,
const J &  j 
)

Definition at line 153 of file spkt_string.h.

template<class A , class B , class C , class D , class E , class F , class G , class H , class I , class J , class K >
void sprockit::spkt_to_stream ( std::ostream &  os,
const A &  a,
const B &  b,
const C &  c,
const D &  d,
const E &  e,
const F &  f,
const G &  g,
const H &  h,
const I &  i,
const J &  j,
const K &  k 
)

Definition at line 177 of file spkt_string.h.

template<class A , class B , class C , class D , class E , class F , class G , class H , class I , class J , class K , class L >
void sprockit::spkt_to_stream ( std::ostream &  os,
const A &  a,
const B &  b,
const C &  c,
const D &  d,
const E &  e,
const F &  f,
const G &  g,
const H &  h,
const I &  i,
const J &  j,
const K &  k,
const L &  l 
)

Definition at line 201 of file spkt_string.h.

template<class A , class B , class C , class D , class E , class F , class G , class H , class I , class J , class K , class L , class M >
void sprockit::spkt_to_stream ( std::ostream &  os,
const A &  a,
const B &  b,
const C &  c,
const D &  d,
const E &  e,
const F &  f,
const G &  g,
const H &  h,
const I &  i,
const J &  j,
const K &  k,
const L &  l,
const M &  m 
)

Definition at line 227 of file spkt_string.h.

template<class A , class B , class C , class D , class E , class F , class G , class H , class I , class J , class K , class L , class M , class N >
void sprockit::spkt_to_stream ( std::ostream &  os,
const A &  a,
const B &  b,
const C &  c,
const D &  d,
const E &  e,
const F &  f,
const G &  g,
const H &  h,
const I &  i,
const J &  j,
const K &  k,
const L &  l,
const M &  m,
const N &  n 
)

Definition at line 255 of file spkt_string.h.

template<class A , class B , class C , class D , class E , class F , class G , class H , class I , class J , class K , class L , class M , class N , class O >
void sprockit::spkt_to_stream ( std::ostream &  os,
const A &  a,
const B &  b,
const C &  c,
const D &  d,
const E &  e,
const F &  f,
const G &  g,
const H &  h,
const I &  i,
const J &  j,
const K &  k,
const L &  l,
const M &  m,
const N &  n,
const O &  o 
)

Definition at line 284 of file spkt_string.h.

std::string sprockit::trim_str ( const std::string &  Src,
const std::string &  c = " \r\n" 
)
inline

Definition at line 22 of file basic_string_tokenizer.h.

Referenced by sprockit::Factory< T, Args >::add_to_map().