1 #ifndef CMSSW_mayown_ptr_H
2 #define CMSSW_mayown_ptr_H
12 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
13 template<
typename T,
int N=sizeof(T*)>
19 if (
nullptr==
p)
return;
20 unsigned char buff[
N]; memcpy(buff,&
p,
N);
21 assert((buff[
N-1]&1)==0);
27 unsigned char buff[
N]; memcpy(buff,&
p,
N);
28 return 1==(buff[
N-1]&1);
32 unsigned char buff[
N]; memcpy(buff,&
p,
N);
34 assert((buff[
N-1]&1)==0);
59 bool empty()
const {
return nullptr==
p;}
61 T const *
raw()
const {
return p;}
66 return rh.
raw() == lh.
raw();
70 return rh.raw() <
lh.raw();
73 template<
typename T,
int N=sizeof(T*)>
mayown_ptr & operator=(mayown_ptr &)=delete
T const * operator->() const
T const & operator*() const
mayown_ptr(mayown_ptr &&rh)
mayown_ptr(T *ip=nullptr)
mayown_ptr & operator=(mayown_ptr &&rh)
bool operator==(const QGLikelihoodParameters &lhs, const QGLikelihoodCategory &rhs)
Test if parameters are compatible with category.
T const * pointer() const