45 #include "R_ext/Boolean.h"
50 #include <boost/serialization/access.hpp>
51 #include <boost/serialization/base_object.hpp>
52 #include <boost/serialization/nvp.hpp>
239 return pattern ?
static_cast<T*
>(pattern->clone()) : 0;
322 return (m_type & s_S4_mask);
344 #ifdef R_MEMORY_PROFILING
346 traceMemory(src, 0, 0);
371 #ifdef R_MEMORY_PROFILING
373 traceMemory(src1, src2, 0);
401 #ifdef R_MEMORY_PROFILING
405 traceMemory(src1, src2, src3);
424 return m_memory_traced;
492 m_memory_traced = on;
511 return SEXPTYPE(m_type & s_sexptype_mask);
519 virtual const char*
typeName()
const;
550 : m_type(stype & s_sexptype_mask), m_named(0),
551 m_memory_traced(false), m_missing(0), m_argused(0),
552 m_active_binding(false), m_binding_locked(false)
563 friend class boost::serialization::access;
565 static const unsigned char s_sexptype_mask = 0x3f;
566 static const unsigned char s_S4_mask = 0x40;
567 static const unsigned char s_class_mask = 0x80;
573 unsigned char m_named;
583 bool m_memory_traced : 1;
598 unsigned m_missing : 2;
609 unsigned m_argused : 2;
616 bool m_active_binding : 1;
617 bool m_binding_locked : 1;
619 RHandle<PairList> m_attrib;
621 template<
class Archive>
622 void serialize(Archive& ar,
const unsigned int version);
624 #ifdef R_MEMORY_PROFILING
636 template<
class Archive>
637 void CXXR::RObject::serialize(Archive& ar,
const unsigned int version)
639 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(GCNode);
640 unsigned int type = m_type;
641 ar & BOOST_SERIALIZATION_NVP(type);
662 typedef struct SEXPREC *
SEXP;
717 inline int NAMED(SEXP x) {
return x ? x->m_named : 0;}
732 return Rboolean(x && x->
hasClass());