Galois
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
galois::gstl Namespace Reference

Standard library structures that use Galois allocators. More...

Classes

struct  StrMaker
 
struct  StrMaker< std::string >
 
struct  StrMaker< Str >
 
struct  StrMaker< const char * >
 

Typedefs

template<typename T >
using Pow2Alloc = typename runtime::Pow_2_BlockAllocator< T >
 [define Pow_2_VarSizeAlloc] More...
 
template<typename T >
using FixedSizeAlloc = typename runtime::FixedSizeAllocator< T >
 [define Pow_2_VarSizeAlloc] More...
 
template<typename T >
using Vector = std::vector< T, Pow2Alloc< T >>
 [STL vector using Pow_2_VarSizeAlloc] More...
 
template<typename T >
using Deque = std::deque< T, Pow2Alloc< T >>
 [STL vector using Pow_2_VarSizeAlloc] More...
 
template<typename T >
using List = std::list< T, FixedSizeAlloc< T >>
 
template<typename T , typename C = std::less<T>>
using Set = std::set< T, C, FixedSizeAlloc< T >>
 
template<typename K , typename V , typename C = std::less<K>>
using Map = std::map< K, V, C, FixedSizeAlloc< std::pair< const K, V >>>
 
template<typename K , typename V , typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
using UnorderedMap = std::unordered_map< K, V, Hash, KeyEqual, FixedSizeAlloc< std::pair< const K, V >>>
 
template<typename T , typename C = std::less<T>>
using PQ = MinHeap< T, C, Vector< T >>
 
using Str = std::basic_string< char, std::char_traits< char >, Pow2Alloc< char >>
 

Functions

template<typename T >
Str makeStr (const T &x)
 

Detailed Description

Standard library structures that use Galois allocators.

Typedef Documentation

template<typename T >
using galois::gstl::Deque = typedef std::deque<T, Pow2Alloc<T>>

[STL vector using Pow_2_VarSizeAlloc]

template<typename T >
using galois::gstl::FixedSizeAlloc = typedef typename runtime::FixedSizeAllocator<T>

[define Pow_2_VarSizeAlloc]

template<typename T >
using galois::gstl::List = typedef std::list<T, FixedSizeAlloc<T>>
template<typename K , typename V , typename C = std::less<K>>
using galois::gstl::Map = typedef std::map<K, V, C, FixedSizeAlloc<std::pair<const K, V>>>
template<typename T >
using galois::gstl::Pow2Alloc = typedef typename runtime::Pow_2_BlockAllocator<T>

[define Pow_2_VarSizeAlloc]

template<typename T , typename C = std::less<T>>
using galois::gstl::PQ = typedef MinHeap<T, C, Vector<T>>
template<typename T , typename C = std::less<T>>
using galois::gstl::Set = typedef std::set<T, C, FixedSizeAlloc<T>>
using galois::gstl::Str = typedef std::basic_string<char, std::char_traits<char>, Pow2Alloc<char>>
template<typename K , typename V , typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
using galois::gstl::UnorderedMap = typedef std::unordered_map<K, V, Hash, KeyEqual, FixedSizeAlloc<std::pair<const K, V>>>
template<typename T >
using galois::gstl::Vector = typedef std::vector<T, Pow2Alloc<T>>

[STL vector using Pow_2_VarSizeAlloc]

Function Documentation

template<typename T >
Str galois::gstl::makeStr ( const T &  x)