50 #ifndef TEUCHOS_DETAILS_ALLOCATOR 
   51 #define TEUCHOS_DETAILS_ALLOCATOR 
   56 #include <type_traits> 
  198   bool tracking ()
 const { 
return track_; }
 
  201   bool verbose ()
 const { 
return verbose_; }
 
  243 #ifdef HAVE_TEUCHOSCORE_CXX11 
  247 #endif // HAVE_TEUCHOSCORE_CXX11 
  251     track_ (true), verbose_ (false)
 
  262              const bool verboseOutput) :
 
  263     track_ (trackMemory), verbose_ (verboseOutput)
 
  269     track_ (src.tracking ()), verbose_ (src.verbose ())
 
  289     return std::numeric_limits<size_type>::max();
 
  305     return (
value_type*) (::operator 
new (n * 
sizeof (T)));
 
  320     ::operator 
delete ((
void*) p);
 
  333 #ifndef HAVE_TEUCHOSCORE_CXX11 
  346     new ((
void*) p) T (val);
 
  348 #endif // HAVE_TEUCHOSCORE_CXX11 
  350 #ifndef HAVE_TEUCHOSCORE_CXX11 
  363 #endif // HAVE_TEUCHOSCORE_CXX11 
  378 template<
class T, 
class U>
 
  379 bool operator== (
const Allocator<T>&, 
const Allocator<U>&) {
 
  384 template<
class T, 
class U>
 
  385 bool operator!= (
const Allocator<T>& a_t, 
const Allocator<U>& a_u) {
 
  386   return ! (a_t == a_u);
 
  392 #endif // TEUCHOS_DETAILS_ALLOCATOR 
AllocationLogger::size_type size_type
Type of the size of an allocation or deallocation. 
 
const T & const_reference
Type of a reference to const T. 
 
Allocator(const bool trackMemory, const bool verboseOutput)
Constructor. 
 
Allocator(const Allocator< U > &src)
Copy constructor that takes an Allocator<U> for any U. 
 
void construct(pointer p, const_reference val)
Invoke the constructor of an instance of T, without allocating. 
 
size_type maxAllocInBytes()
Max total allocation ("high water mark") in bytes, over all Allocator<U>. 
 
Teuchos header file which uses auto-configuration information to include necessary C++ headers...
 
std::ptrdiff_t difference_type
Integer type representing the difference between two pointers. 
 
Optional tracking allocator for Teuchos Memory Management classes. 
 
Logging implementation used by Allocator (see below). 
 
const T * const_pointer
Type of a pointer to const T. 
 
Mapping to an Allocator for a different type U. 
 
T * pointer
Type of a pointer to T. 
 
T & reference
Type of a reference to T. 
 
Allocator()
Default constructor. 
 
std::size_t size_type
Type of the size of an allocation or deallocation. 
 
static void resetAllocationCounts()
Reset the current and max total allocation numbers to zero. 
 
static void logAllocation(std::ostream &out, const size_type numEntries, const size_type numBytes, const char typeName[], const bool verbose)
Log an allocation. 
 
T value_type
Type of the template parameter of this class. 
 
size_type max_size() const 
Upper bound (possibly loose) on maximum allocation size. 
 
void destroy(pointer p)
Invoke the destructor of an instance of T, without deallocating. 
 
static size_type maxAllocInBytes()
Max total allocation ("high water mark") in bytes. 
 
value_type * allocate(const size_type &n, const void *=0)
Allocate an array of n instances of value_type. 
 
static void logDeallocation(std::ostream &out, const size_type numEntries, const size_type numBytes, const char typeName[], const bool verbose)
Log a deallocation, that was previously logged using logAllocation(). 
 
static size_type curAllocInBytes()
Current total allocation in bytes. 
 
void deallocate(value_type *p, const size_type &n)
Deallocate n instances of value_type. 
 
std::string typeName(const T &t)
Template function for returning the concrete type name of a passed-in object. 
 
size_type curAllocInBytes()
Current total allocation in bytes, over all Allocator<U>.