GDBserver
Classes | Macros | Typedefs | Functions
poison.h File Reference
#include "traits.h"

Go to the source code of this file.

Classes

struct  IsMemsettable< T >
 

Macros

#define XNEW(T)   xnew<T>()
 
#define XCNEW(T)   xcnew<T>()
 
#define XDELETE(P)   xdelete (P)
 
#define XNEWVEC(T, N)   xnewvec<T> (N)
 
#define XCNEWVEC(T, N)   xcnewvec<T> (N)
 
#define XRESIZEVEC(T, P, N)   xresizevec<T> (P, N)
 
#define XDELETEVEC(P)   xdeletevec (P)
 
#define XNEWVAR(T, S)   xnewvar<T> (S)
 
#define XCNEWVAR(T, S)   xcnewvar<T> (S)
 
#define XRESIZEVAR(T, P, S)   xresizevar<T> (P, S)
 

Typedefs

template<typename T >
using IsMallocable = std::is_pod< T >
 
template<typename T >
using IsFreeable = gdb::Or< std::is_trivially_destructible< T >, std::is_void< T > >
 

Functions

template<typename T , typename = gdb::Requires<gdb::Not<IsMemsettable<T>>>>
void * memset (T *s, int c, size_t n)=delete
 
template<typename T , typename = gdb::Requires<gdb::Not<IsFreeable<T>>>>
void free (T *ptr)=delete
 
template<typename T >
static T * xnew ()
 
template<typename T >
static T * xcnew ()
 
template<typename T >
static void xdelete (T *p)
 
template<typename T >
static T * xnewvec (size_t n)
 
template<typename T >
static T * xcnewvec (size_t n)
 
template<typename T >
static T * xresizevec (T *p, size_t n)
 
template<typename T >
static void xdeletevec (T *p)
 
template<typename T >
static T * xnewvar (size_t s)
 
template<typename T >
static T * xcnewvar (size_t s)
 
template<typename T >
static T * xresizevar (T *p, size_t s)
 

Macro Definition Documentation

◆ XCNEW

#define XCNEW (   T)    xcnew<T>()

◆ XCNEWVAR

#define XCNEWVAR (   T,
 
)    xcnewvar<T> (S)

Definition at line 205 of file poison.h.

Referenced by xcnewvar().

◆ XCNEWVEC

#define XCNEWVEC (   T,
 
)    xcnewvec<T> (N)

Definition at line 157 of file poison.h.

Referenced by linux_xfer_osdata_processes(), and xcnewvec().

◆ XDELETE

#define XDELETE (   P)    xdelete (P)

Definition at line 133 of file poison.h.

Referenced by xdelete().

◆ XDELETEVEC

#define XDELETEVEC (   P)    xdeletevec (P)

Definition at line 181 of file poison.h.

Referenced by xdeletevec().

◆ XNEW

#define XNEW (   T)    xnew<T>()

◆ XNEWVAR

#define XNEWVAR (   T,
 
)    xnewvar<T> (S)

Definition at line 193 of file poison.h.

Referenced by xnewvar().

◆ XNEWVEC

#define XNEWVEC (   T,
 
)    xnewvec<T> (N)

Definition at line 145 of file poison.h.

Referenced by xnewvec().

◆ XRESIZEVAR

#define XRESIZEVAR (   T,
  P,
 
)    xresizevar<T> (P, S)

Definition at line 217 of file poison.h.

Referenced by xresizevar().

◆ XRESIZEVEC

#define XRESIZEVEC (   T,
  P,
 
)    xresizevec<T> (P, N)

Definition at line 169 of file poison.h.

Referenced by add_tracepoint_action(), ATTRIBUTE_PRINTF(), handle_query(), and xresizevec().

Typedef Documentation

◆ IsFreeable

template<typename T >
using IsFreeable = gdb::Or<std::is_trivially_destructible<T>, std::is_void<T> >

Definition at line 94 of file poison.h.

◆ IsMallocable

template<typename T >
using IsMallocable = std::is_pod<T>

Definition at line 91 of file poison.h.

Function Documentation

◆ free()

template<typename T , typename = gdb::Requires<gdb::Not<IsFreeable<T>>>>
void free ( T *  ptr)
delete

◆ memset()

template<typename T , typename = gdb::Requires<gdb::Not<IsMemsettable<T>>>>
void* memset ( T *  s,
int  c,
size_t  n 
)
delete

◆ xcnew()

template<typename T >
static T* xcnew ( )
static

Definition at line 113 of file poison.h.

References XCNEW.

◆ xcnewvar()

template<typename T >
static T* xcnewvar ( size_t  s)
static

Definition at line 197 of file poison.h.

References XCNEWVAR.

◆ xcnewvec()

template<typename T >
static T* xcnewvec ( size_t  n)
static

Definition at line 149 of file poison.h.

References XCNEWVEC.

◆ xdelete()

template<typename T >
static void xdelete ( T *  p)
static

Definition at line 125 of file poison.h.

References XDELETE.

◆ xdeletevec()

template<typename T >
static void xdeletevec ( T *  p)
static

Definition at line 173 of file poison.h.

References XDELETEVEC.

◆ xnew()

template<typename T >
static T* xnew ( )
static

Definition at line 101 of file poison.h.

References XNEW.

◆ xnewvar()

template<typename T >
static T* xnewvar ( size_t  s)
static

Definition at line 185 of file poison.h.

References XNEWVAR.

◆ xnewvec()

template<typename T >
static T* xnewvec ( size_t  n)
static

Definition at line 137 of file poison.h.

References XNEWVEC.

◆ xresizevar()

template<typename T >
static T* xresizevar ( T *  p,
size_t  s 
)
static

Definition at line 209 of file poison.h.

References XRESIZEVAR.

◆ xresizevec()

template<typename T >
static T* xresizevec ( T *  p,
size_t  n 
)
static

Definition at line 161 of file poison.h.

References XRESIZEVEC.