Back to index

plt-scheme  4.2.1
Classes | Defines | Functions
gc_allocator.h File Reference
#include "gc.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  GC_true_type
struct  GC_false_type
struct  GC_type_traits< GC_tp >
class  gc_allocator< GC_Tp >
struct  gc_allocator< GC_Tp >::rebind< GC_Tp1 >
class  gc_allocator< void >
struct  gc_allocator< void >::rebind< GC_Tp1 >
class  traceable_allocator< GC_Tp >
struct  traceable_allocator< GC_Tp >::rebind< GC_Tp1 >
class  traceable_allocator< void >
struct  traceable_allocator< void >::rebind< GC_Tp1 >

Defines

#define GC_ATTR_UNUSED
#define GC_DECLARE_PTRFREE(T)   template<> struct GC_type_traits<T> { GC_true_type GC_is_ptr_free; }

Functions

 GC_DECLARE_PTRFREE (signed char)
 GC_DECLARE_PTRFREE (unsigned char)
 GC_DECLARE_PTRFREE (float)
 GC_DECLARE_PTRFREE (double)
template<class GC_Tp >
voidGC_selective_alloc (size_t n, GC_Tp)
template<>
voidGC_selective_alloc< GC_true_type > (size_t n, GC_true_type)
template<class GC_T1 , class GC_T2 >
bool operator== (const gc_allocator< GC_T1 > &, const gc_allocator< GC_T2 > &)
template<class GC_T1 , class GC_T2 >
bool operator!= (const gc_allocator< GC_T1 > &, const gc_allocator< GC_T2 > &)
template<class GC_T1 , class GC_T2 >
bool operator== (const traceable_allocator< GC_T1 > &, const traceable_allocator< GC_T2 > &)
template<class GC_T1 , class GC_T2 >
bool operator!= (const traceable_allocator< GC_T1 > &, const traceable_allocator< GC_T2 > &)

Class Documentation

struct GC_true_type

Definition at line 56 of file gc_allocator.h.

struct GC_false_type

Definition at line 57 of file gc_allocator.h.

struct GC_type_traits

template<class GC_tp>
struct GC_type_traits< GC_tp >

Definition at line 60 of file gc_allocator.h.

Collaboration diagram for GC_type_traits< GC_tp >:
Class Members
GC_false_type GC_is_ptr_free

Define Documentation

#define GC_ATTR_UNUSED

Definition at line 47 of file gc_allocator.h.

#define GC_DECLARE_PTRFREE (   T)    template<> struct GC_type_traits<T> { GC_true_type GC_is_ptr_free; }

Definition at line 64 of file gc_allocator.h.


Function Documentation

GC_DECLARE_PTRFREE ( unsigned  char)
GC_DECLARE_PTRFREE ( float  )
GC_DECLARE_PTRFREE ( double  )
template<class GC_Tp >
void* GC_selective_alloc ( size_t  n,
GC_Tp   
) [inline]

Definition at line 82 of file gc_allocator.h.

                                                  {
    return GC_MALLOC(n);
}

Here is the caller graph for this function:

template<>
void* GC_selective_alloc< GC_true_type > ( size_t  n,
GC_true_type   
) [inline]

Definition at line 87 of file gc_allocator.h.

                                                                       {
    return GC_MALLOC_ATOMIC(n);
}
template<class GC_T1 , class GC_T2 >
bool operator!= ( const gc_allocator< GC_T1 > &  ,
const gc_allocator< GC_T2 > &   
) [inline]

Definition at line 162 of file gc_allocator.h.

{
  return false;
}
template<class GC_T1 , class GC_T2 >
bool operator!= ( const traceable_allocator< GC_T1 > &  ,
const traceable_allocator< GC_T2 > &   
) [inline]

Definition at line 238 of file gc_allocator.h.

{
  return false;
}
template<class GC_T1 , class GC_T2 >
bool operator== ( const gc_allocator< GC_T1 > &  ,
const gc_allocator< GC_T2 > &   
) [inline]

Definition at line 156 of file gc_allocator.h.

{
  return true;
}
template<class GC_T1 , class GC_T2 >
bool operator== ( const traceable_allocator< GC_T1 > &  ,
const traceable_allocator< GC_T2 > &   
) [inline]

Definition at line 232 of file gc_allocator.h.

{
  return true;
}