Garfield++ 3.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
Loading...
Searching...
No Matches
Heed::RegPassivePtr Class Reference

#include <AbsPtr.h>

+ Inheritance diagram for Heed::RegPassivePtr:

Public Member Functions

 RegPassivePtr (void)
 
 RegPassivePtr (char fs_ban_del, char fs_ban_sub, char fs_ban_cop=0)
 
 RegPassivePtr (const RegPassivePtr &f)
 
RegPassivePtroperator= (const RegPassivePtr &f)
 
CountPP_ns::CountPassivePtrbook (void) const
 
void clear_pointers (void) const
 
virtual RegPassivePtrcopy () const
 
virtual ~RegPassivePtr ()
 
virtual void print (std::ostream &file, int l=1) const
 
void set_s_ban_del (char fs_ban_del)
 
char get_s_ban_del (void) const
 
void set_s_ban_sub (char fs_ban_sub)
 
char get_s_ban_sub (void) const
 
void set_s_ban_cop (char fs_ban_cop)
 
char get_s_ban_cop (void) const
 
void set_s_allow_del_at_zero_count (char fs_allow_del_at_zero_count)
 
char get_s_allow_del_at_zero_count (void) const
 
long get_total_number_of_references (void) const
 

Static Public Member Functions

static void set_s_ban_del_ignore (char fs_ban_del_ignore)
 
static char get_s_ban_del_ignore (void)
 
static void set_s_print_adr_cpp (char fs_print_adr_cpp)
 
static char get_s_print_adr_cpp (void)
 

Friends

class CountPP_ns::CountPassivePtr
 
std::ostream & operator<< (std::ostream &file, const RegPassivePtr &f)
 

Detailed Description

Definition at line 254 of file AbsPtr.h.

Constructor & Destructor Documentation

◆ RegPassivePtr() [1/3]

Heed::RegPassivePtr::RegPassivePtr ( void  )
inline

Definition at line 346 of file AbsPtr.h.

347 :
348#ifdef USE_BIT_OPERA
349 control_word(0),
350#elif defined USE_BIT_FIELDS
351 conparam(),
352#else
353 s_ban_del(0),
354 s_ban_sub(0),
355 s_ban_cop(0),
356#ifdef USE_DELETE_AT_ZERO_COUNT
357 s_allow_del_at_zero_count(0),
358#endif
359#endif
360 cpp(NULL) {
361 }

Referenced by copy().

◆ RegPassivePtr() [2/3]

Heed::RegPassivePtr::RegPassivePtr ( char  fs_ban_del,
char  fs_ban_sub,
char  fs_ban_cop = 0 
)
inline

Definition at line 363 of file AbsPtr.h.

364 :
365#else
366 inline RegPassivePtr(int fs_ban_del, int fs_ban_sub, int fs_ban_cop = 0)
367 :
368#endif
369#ifdef USE_BIT_OPERA
370 control_word(0),
371#elif defined(USE_BIT_FIELDS)
372 conparam(fs_ban_del, fs_ban_sub, fs_ban_cop),
373#else
374 s_ban_del(fs_ban_del), s_ban_sub(fs_ban_sub), s_ban_cop(fs_ban_cop),
376 s_allow_del_at_zero_count(0),
377#endif
378#endif
379 cpp(NULL) {
380#ifdef USE_BIT_OPERA
381 set_s_ban_del(fs_ban_del);
382 set_s_ban_sub(fs_ban_sub);
383 set_s_ban_cop(fs_ban_cop);
384#endif
385 }
#define USE_DELETE_AT_ZERO_COUNT
Definition: AbsPtr.h:33
void set_s_ban_cop(char fs_ban_cop)
Definition: AbsPtr.h:673
void set_s_ban_sub(char fs_ban_sub)
Definition: AbsPtr.h:613
RegPassivePtr(void)
Definition: AbsPtr.h:346
void set_s_ban_del(char fs_ban_del)
Definition: AbsPtr.h:539

◆ RegPassivePtr() [3/3]

Heed::RegPassivePtr::RegPassivePtr ( const RegPassivePtr f)

Definition at line 16 of file AbsPtr.cpp.

17 :
18#ifdef USE_BIT_OPERA
19 control_word(f.control_word),
20#elif defined(USE_BIT_FIELDS)
21 conparam(f.conparam),
22#else
23 s_ban_del(f.s_ban_del),
24 s_ban_sub(f.s_ban_sub),
25 s_ban_cop(f.s_ban_cop),
26#ifdef USE_DELETE_AT_ZERO_COUNT
27 s_allow_del_at_zero_count(f.s_allow_del_at_zero_count),
28#endif
29#endif
30 cpp(NULL) {
31// mcout<<"RegPassivePtr::RegPassivePtr(...) is started\n";
32#ifdef USE_BIT_OPERA
33 if (f.get_s_ban_cop() == 2) {
34#elif defined(USE_BIT_FIELDS)
35 if (f.conparam.s_ban_cop == 2) {
36#else
37 if (f.s_ban_cop == 2) {
38#endif
39 mcerr << "Error in "
40 << "RegPassivePtr::RegPassivePtr(const RegPassivePtr& f):\n"
41 << "attempt to copy object whose s_ban_cop == 2.\n";
43 }
44#ifdef USE_BIT_OPERA
45 else if (f.get_s_ban_cop() == 1 && f.cpp->get_number_of_booked() > 0) {
46#elif defined(USE_BIT_FIELDS)
47 else if (f.conparam.s_ban_cop == 1 && f.cpp->get_number_of_booked() > 0) {
48#else
49 else if (f.s_ban_cop == 1 && f.cpp->get_number_of_booked() > 0) {
50#endif
51 mcerr << "Error in "
52 << "RegPassivePtr::RegPassivePtr(const RegPassivePtr& f):\n"
53 << "attempt to copy referred object whose s_ban_cop == 1.\n"
54 << "f.cpp->get_number_of_booked()=" << f.cpp->get_number_of_booked()
55 << '\n';
57 }
58}
#define spexit(stream)
Definition: FunNameStack.h:256
#define mcerr
Definition: prstream.h:128

◆ ~RegPassivePtr()

Heed::RegPassivePtr::~RegPassivePtr ( )
virtual

Definition at line 231 of file AbsPtr.cpp.

231 {
232 // mcout<<"~RegPassivePtr(): *this="<<(*this)<<'\n';
233 if (cpp != NULL) {
234 cpp->change_rpp(NULL);
235 if (cpp->get_number_of_booked() == 0) {
236 delete cpp;
237 cpp = NULL;
238 } else {
239#ifdef USE_BIT_OPERA
240 if (s_ban_del_ignore == 0 && get_s_ban_del() == 1)
241#elif defined(USE_BIT_FIELDS)
242 if (s_ban_del_ignore == 0 && conparam.s_ban_del == 1)
243#else
244 if (s_ban_del_ignore == 0 && s_ban_del == 1)
245#endif
246 {
247 mcerr << "Error in RegPassivePtr::~RegPassivePtr() "
248 << "s_ban_del == 1, but there are pointers to this class.\n";
249 mcerr << "cpp->number_of_registered=" << cpp->get_number_of_booked()
250 << '\n';
251 s_ban_del_ignore = 1;
252 spexit(mcerr);
253 }
254 }
255 }
256}
void change_rpp(const RegPassivePtr *frpp)
Definition: AbsPtr.h:211
char get_s_ban_del(void) const
Definition: AbsPtr.h:567

Member Function Documentation

◆ book()

CountPP_ns::CountPassivePtr * Heed::RegPassivePtr::book ( void  ) const
inline

Definition at line 394 of file AbsPtr.h.

394 {
395 if (!cpp) cpp = new CountPP_ns::CountPassivePtr(this);
396 cpp->book();
397 return cpp;
398 }
friend class CountPP_ns::CountPassivePtr
Definition: AbsPtr.h:256

Referenced by Heed::PassivePtr< X >::put().

◆ clear_pointers()

void Heed::RegPassivePtr::clear_pointers ( void  ) const
inline

Definition at line 400 of file AbsPtr.h.

400 {
401 // all pointers addressing this are cleared;
402 if (cpp) cpp->change_rpp(NULL);
403 }

Referenced by operator=().

◆ copy()

virtual RegPassivePtr * Heed::RegPassivePtr::copy ( ) const
inlinevirtual

Reimplemented in Heed::DynLinArr< T >, Heed::DynLinArr< long >, Heed::DynLinArr< D >, Heed::DynArr< T >, and Heed::DynArr< D >.

Definition at line 405 of file AbsPtr.h.

405{ return new RegPassivePtr(*this); }

◆ get_s_allow_del_at_zero_count()

char Heed::RegPassivePtr::get_s_allow_del_at_zero_count ( void  ) const
inline

Definition at line 763 of file AbsPtr.h.

768 {
769 if ((control_word & eb_s_allow_del_at_zero_count) != 0)
770 return 1;
771 else
772 return 0;
773 }
774#elif defined(USE_BIT_FIELDS)
775 {
776 return conparam.s_allow_del_at_zero_count;
777 }
778#else
779 { return s_allow_del_at_zero_count; }

Referenced by Heed::PassivePtr< X >::move_pointer(), operator=(), Heed::PassivePtr< X >::put(), and Heed::PassivePtr< X >::~PassivePtr().

◆ get_s_ban_cop()

char Heed::RegPassivePtr::get_s_ban_cop ( void  ) const
inline

Definition at line 707 of file AbsPtr.h.

712 {
713 if ((control_word & eb_s_ban_cop2) == 0) {
714 if ((control_word & eb_s_ban_cop1) == 0)
715 return 0;
716 else
717 return 1;
718 } else {
719 return 2;
720 }
721 }
722#elif defined USE_BIT_FIELDS
723 {
724 return conparam.s_ban_cop;
725 }
726#else
727 { return s_ban_cop; }

Referenced by operator=(), and RegPassivePtr().

◆ get_s_ban_del()

char Heed::RegPassivePtr::get_s_ban_del ( void  ) const
inline

Definition at line 567 of file AbsPtr.h.

572 {
573 if ((control_word & eb_s_ban_del) != 0)
574 return 1;
575 else
576 return 0;
577 }
578#elif defined(USE_BIT_FIELDS)
579 {
580 return conparam.s_ban_del;
581 }
582#else
583 { return s_ban_del; }

Referenced by operator=(), and ~RegPassivePtr().

◆ get_s_ban_del_ignore()

static char Heed::RegPassivePtr::get_s_ban_del_ignore ( void  )
inlinestatic

Definition at line 604 of file AbsPtr.h.

608 {
609 return s_ban_del_ignore;
610 }

◆ get_s_ban_sub()

char Heed::RegPassivePtr::get_s_ban_sub ( void  ) const
inline

Definition at line 647 of file AbsPtr.h.

652 {
653 if ((control_word & eb_s_ban_sub2) == 0) {
654 if ((control_word & eb_s_ban_sub1) == 0)
655 return 0;
656 else
657 return 1;
658 } else {
659 // Iprintn(mcout, (control_word & eb_s_ban_sub1) );
660 // Iprintn(mcout, (control_word & eb_s_ban_sub2) );
661 return 2;
662 }
663 }
664#elif defined(USE_BIT_FIELDS)
665 {
666 return conparam.s_ban_sub;
667 }
668#else
669 { return s_ban_sub; }

Referenced by operator=().

◆ get_s_print_adr_cpp()

static char Heed::RegPassivePtr::get_s_print_adr_cpp ( void  )
inlinestatic

Definition at line 802 of file AbsPtr.h.

806 {
807 return s_print_adr_cpp;
808 }

◆ get_total_number_of_references()

long Heed::RegPassivePtr::get_total_number_of_references ( void  ) const

Definition at line 222 of file AbsPtr.cpp.

222 {
223 if (cpp == NULL)
224 return 0;
225 else
226 return cpp->get_number_of_booked();
227}

◆ operator=()

RegPassivePtr & Heed::RegPassivePtr::operator= ( const RegPassivePtr f)

Definition at line 60 of file AbsPtr.cpp.

60 {
61// mcout<<"RegPassivePtr::operator= is started\n";
62#ifdef USE_BIT_OPERA
63 if (f.get_s_ban_cop() == 2) {
64#elif defined(USE_BIT_FIELDS)
65 if (f.conparam.s_ban_cop == 2) {
66#else
67 if (f.s_ban_cop == 2) {
68#endif
69 mcerr << "Error in "
70 << "RegPassivePtr& RegPassivePtr::operator=(const RegPassivePtr& "
71 "f):\n"
72 << "attempt to copy object whose s_ban_cop == 2.\n";
74#ifdef USE_BIT_OPERA
75 } else if (f.get_s_ban_cop() == 1 && f.cpp->get_number_of_booked() > 0) {
76#elif defined(USE_BIT_FIELDS)
77 } else if (f.conparam.s_ban_cop == 1 && f.cpp->get_number_of_booked() > 0) {
78#else
79 } else if (f.s_ban_cop == 1 && f.cpp->get_number_of_booked() > 0) {
80#endif
81 mcerr << "Error in "
82 << "RegPassivePtr& RegPassivePtr::operator=(const "
83 "RegPassivePtr& f):\n"
84 << "attempt to copy referred object whose s_ban_cop == 1.\n"
85 << "f.cpp->get_number_of_booked()=" << f.cpp->get_number_of_booked()
86 << '\n';
88 }
89#ifdef USE_BIT_OPERA
90 set_s_ban_cop(f.get_s_ban_cop());
91#ifdef USE_DELETE_AT_ZERO_COUNT
92 set_s_allow_del_at_zero_count(f.get_s_allow_del_at_zero_count());
93#endif
94 set_s_ban_del(f.get_s_ban_del());
95 if (get_s_ban_sub() == 1)
96#elif defined(USE_BIT_FIELDS)
97 conparam.s_ban_cop = f.conparam.s_ban_cop;
98#ifdef USE_DELETE_AT_ZERO_COUNT
99 conparam.s_allow_del_at_zero_count = f.conparam.s_allow_del_at_zero_count;
100#endif
101 conparam.s_ban_del = f.conparam.s_ban_del;
102 if (conparam.s_ban_sub == 1)
103#else
104 s_ban_cop = f.s_ban_cop;
105#ifdef USE_DELETE_AT_ZERO_COUNT
106 s_allow_del_at_zero_count = f.s_allow_del_at_zero_count;
107#endif
108 s_ban_del = f.s_ban_del;
109 if (s_ban_sub == 1)
110#endif
111 {
112 if (this == &f && // self-assignment
113 cpp != NULL && cpp->get_number_of_booked() > 0) {
114 mcerr << "Error in "
115 << "RegPassivePtr& RegPassivePtr::operator=(const RegPassivePtr& "
116 "f):\n"
117 << "self-assignment, s_ban_sub == 1, but the object is addressed.\n"
118 << "This can lead to loss of pointers to copied object, not only "
119 "to this one.\n";
120 spexit(mcerr);
121 }
123 }
124#ifdef USE_BIT_OPERA
125 else if (get_s_ban_sub() == 2 && cpp != NULL &&
126 cpp->get_number_of_booked() > 0)
127#elif defined(USE_BIT_FIELDS)
128 else if (conparam.s_ban_sub == 2 && cpp != NULL &&
129 cpp->get_number_of_booked() > 0)
130#else
131 else if (s_ban_sub == 2 && cpp != NULL && cpp->get_number_of_booked() > 0)
132#endif
133 {
134 mcerr << "Error in "
135 << "RegPassivePtr& RegPassivePtr::operator=(const RegPassivePtr& "
136 "f):\n"
137 << "s_ban_sub == 2, but the object is addressed.\n";
138 spexit(mcerr);
139 }
140#ifdef USE_BIT_OPERA
141 set_s_ban_sub(f.get_s_ban_sub());
142#elif defined(USE_BIT_FIELDS)
143 conparam.s_ban_sub = f.conparam.s_ban_sub;
144#else
145 s_ban_sub = f.s_ban_sub;
146#endif
147 return *this;
148}
void clear_pointers(void) const
Definition: AbsPtr.h:400
void set_s_allow_del_at_zero_count(char fs_allow_del_at_zero_count)
Definition: AbsPtr.h:733
char get_s_ban_sub(void) const
Definition: AbsPtr.h:647

◆ print()

void Heed::RegPassivePtr::print ( std::ostream &  file,
int  l = 1 
) const
virtual

Definition at line 152 of file AbsPtr.cpp.

152 {
153 if (l > 0) file << (*this);
154}

Referenced by Heed::print_adr_DynLinArr(), and Heed::print_DynLinArr().

◆ set_s_allow_del_at_zero_count()

void Heed::RegPassivePtr::set_s_allow_del_at_zero_count ( char  fs_allow_del_at_zero_count)
inline

Definition at line 733 of file AbsPtr.h.

737 {
738#ifdef USE_BIT_OPERA
739 if (fs_allow_del_at_zero_count == 0)
740 clear_bit(control_word, eb_s_allow_del_at_zero_count);
741 else if (fs_allow_del_at_zero_count == 1)
742 rise_bit(control_word, eb_s_allow_del_at_zero_count);
743#else
744 if (fs_allow_del_at_zero_count == 0 || fs_allow_del_at_zero_count == 1) {
745#ifdef USE_BIT_FIELDS
746 conparam.s_allow_del_at_zero_count = fs_allow_del_at_zero_count;
747#else
748 s_allow_del_at_zero_count = fs_allow_del_at_zero_count;
749#endif
750 }
751#endif
752 else {
753 mcerr << "ERROR in inline void set_s_allow_del_at_zero_count(int "
754 "fs_allow_del_at_zero_count):\n";
755 mcerr << "s_allow_del_at_zero_count is outside limits, "
756 "s_allow_del_at_zero_count=" << int(fs_allow_del_at_zero_count)
757 << '\n';
758 spexit(mcerr);
759 }
760 }

Referenced by operator=().

◆ set_s_ban_cop()

void Heed::RegPassivePtr::set_s_ban_cop ( char  fs_ban_cop)
inline

Definition at line 673 of file AbsPtr.h.

677 {
678#ifdef USE_BIT_OPERA
679 if (fs_ban_cop == 0) {
680 clear_bit(control_word, eb_s_ban_cop1);
681 clear_bit(control_word, eb_s_ban_cop2);
682 } else if (fs_ban_cop == 1) {
683 rise_bit(control_word, eb_s_ban_cop1);
684 clear_bit(control_word, eb_s_ban_cop2);
685 } else if (fs_ban_cop == 2) {
686 clear_bit(control_word, eb_s_ban_cop1);
687 rise_bit(control_word, eb_s_ban_cop2);
688 }
689#else
690 if (fs_ban_cop >= 0 && fs_ban_cop <= 2) {
691#ifdef USE_BIT_FIELDS
692 conparam.s_ban_cop = fs_ban_cop;
693#else
694 s_ban_cop = fs_ban_cop;
695#endif
696 }
697#endif
698 else {
699 mcerr << "ERROR in inline void set_s_ban_cop(int fs_ban_cop):\n";
700 mcerr << "s_ban_cop is outside limits, s_ban_cop=" << int(fs_ban_cop)
701 << '\n';
702 spexit(mcerr);
703 }
704 }

Referenced by operator=(), and RegPassivePtr().

◆ set_s_ban_del()

void Heed::RegPassivePtr::set_s_ban_del ( char  fs_ban_del)
inline

Definition at line 539 of file AbsPtr.h.

543 {
544#ifdef USE_BIT_OPERA
545 if (fs_ban_del == 0)
546 clear_bit(control_word, eb_s_ban_del);
547 else if (fs_ban_del == 1)
548 rise_bit(control_word, eb_s_ban_del);
549#else
550 if (fs_ban_del == 0 || fs_ban_del == 1) {
551#ifdef USE_BIT_FIELDS
552 conparam.s_ban_del = fs_ban_del;
553#else
554 s_ban_del = fs_ban_del;
555#endif
556 }
557#endif
558 else {
559 mcerr << "ERROR in inline void set_s_ban_del(int fs_ban_del):\n";
560 mcerr << "s_ban_del is outside limits, s_ban_del=" << int(fs_ban_del)
561 << '\n';
562 spexit(mcerr);
563 }
564 }

Referenced by operator=(), and RegPassivePtr().

◆ set_s_ban_del_ignore()

static void Heed::RegPassivePtr::set_s_ban_del_ignore ( char  fs_ban_del_ignore)
inlinestatic

Definition at line 587 of file AbsPtr.h.

591 {
592 if (fs_ban_del_ignore == 0 || fs_ban_del_ignore == 1) {
593 s_ban_del_ignore = fs_ban_del_ignore;
594 } else {
595 mcerr << "ERROR in inline void set_s_ban_del_ignore(int "
596 "fs_ban_del_ignore ):\n";
597 mcerr << "s_ban_del_ignore is outside limits, s_ban_del_ignore="
598 << int(fs_ban_del_ignore) << '\n';
599 spexit(mcerr);
600 }
601 }

◆ set_s_ban_sub()

void Heed::RegPassivePtr::set_s_ban_sub ( char  fs_ban_sub)
inline

Definition at line 613 of file AbsPtr.h.

617 {
618#ifdef USE_BIT_OPERA
619 if (fs_ban_sub == 0) {
620 clear_bit(control_word, eb_s_ban_sub1);
621 clear_bit(control_word, eb_s_ban_sub2);
622 } else if (fs_ban_sub == 1) {
623 rise_bit(control_word, eb_s_ban_sub1);
624 clear_bit(control_word, eb_s_ban_sub2);
625 } else if (fs_ban_sub == 2) {
626 clear_bit(control_word, eb_s_ban_sub1);
627 rise_bit(control_word, eb_s_ban_sub2);
628 }
629#else
630 if (fs_ban_sub >= 0 && fs_ban_sub <= 2) {
631#ifdef USE_BIT_FIELDS
632 conparam.s_ban_sub = fs_ban_sub;
633#else
634 s_ban_sub = fs_ban_sub;
635#endif
636 }
637#endif
638 else {
639 mcerr << "ERROR in inline void set_s_ban_sub(int fs_ban_sub):\n";
640 mcerr << "s_ban_sub is outside limits, s_ban_sub=" << int(fs_ban_sub)
641 << '\n';
642 spexit(mcerr);
643 }
644 }

Referenced by operator=(), and RegPassivePtr().

◆ set_s_print_adr_cpp()

static void Heed::RegPassivePtr::set_s_print_adr_cpp ( char  fs_print_adr_cpp)
inlinestatic

Definition at line 785 of file AbsPtr.h.

789 {
790 if (fs_print_adr_cpp == 0 || fs_print_adr_cpp == 1) {
791 s_print_adr_cpp = fs_print_adr_cpp;
792 } else {
793 mcerr << "ERROR in inline void set_s_print_adr_cpp(int fs_print_adr_cpp "
794 "):\n";
795 mcerr << "s_print_adr_cpp is outside limits, s_print_adr_cpp="
796 << int(fs_print_adr_cpp) << '\n';
797 spexit(mcerr);
798 }
799 }

Friends And Related Function Documentation

◆ CountPP_ns::CountPassivePtr

friend class CountPP_ns::CountPassivePtr
friend

Definition at line 256 of file AbsPtr.h.

◆ operator<<

std::ostream & operator<< ( std::ostream &  file,
const RegPassivePtr f 
)
friend

Definition at line 156 of file AbsPtr.cpp.

156 {
157#ifdef USE_BIT_OPERA
158#ifdef USE_CHAR_GETSETTERS_PARAMETERS
159 Ifile << "RegPassivePtr<X>: s_ban_del/sub/cop=" << int(f.get_s_ban_del())
160 << "/" << int(f.get_s_ban_sub()) << "/" << int(f.get_s_ban_cop());
161#else
162 Ifile << "RegPassivePtr<X>: s_ban_del/sub/cop=" << f.get_s_ban_del() << "/"
163 << f.get_s_ban_sub() << "/" << f.get_s_ban_cop();
164#endif
165#elif defined USE_BIT_FIELDS
166 Ifile << "RegPassivePtr<X>: s_ban_del/sub/cop=" << f.conparam.s_ban_del << "/"
167 << f.conparam.s_ban_sub << "/" << f.conparam.s_ban_cop;
168#else
169#ifdef USE_CHAR_CONTROL_VARIABLES
170 Ifile << "RegPassivePtr<X>: s_ban_del/sub/cop=" << int(f.s_ban_del) << "/"
171 << int(f.s_ban_sub) << "/" << int(f.s_ban_cop);
172#else
173 Ifile << "RegPassivePtr<X>: s_ban_del/sub/cop=" << f.s_ban_del << "/"
174 << f.s_ban_sub << "/" << f.s_ban_cop;
175#endif
176#endif
177 /*
178 Ifile<<"RegPassivePtr<X>: s_ban_del="<<f.s_ban_del
179 <<" s_ban_sub="<<f.s_ban_sub
180 <<" s_ban_cop="<<f.s_ban_cop;
181 */
182 if (RegPassivePtr::s_print_adr_cpp == 0) {
183 if (f.cpp == NULL) {
184 file << " cpp=NULL\n";
185 } else {
186 file << " cpp!=NULL\n";
187 }
188 } else {
189 file << " cpp=" << f.cpp << '\n';
190 }
191 if (f.cpp != NULL) {
192 indn.n += 2;
193 Ifile << "cpp->number_of_registered=" << f.cpp->get_number_of_booked()
194 << '\n';
195 indn.n -= 2;
196 }
197#ifdef USE_DELETE_AT_ZERO_COUNT
198 indn.n += 2;
199#ifdef USE_BIT_OPERA
200 Ifile << "s_allow_del_at_zero_count="
201#ifdef USE_CHAR_GETSETTERS_PARAMETERS
202 << int(f.get_s_allow_del_at_zero_count()) << '\n';
203#else
204 << f.get_s_allow_del_at_zero_count() << '\n';
205#endif
206#elif defined(USE_BIT_FIELDS)
207 Ifile << "s_allow_del_at_zero_count=" << f.conparam.s_allow_del_at_zero_count
208 << '\n';
209#else
210#ifdef USE_CHAR_CONTROL_VARIABLES
211 Ifile << "s_allow_del_at_zero_count=" << int(f.s_allow_del_at_zero_count)
212 << '\n';
213#else
214 Ifile << "s_allow_del_at_zero_count=" << f.s_allow_del_at_zero_count << '\n';
215#endif
216#endif
217 indn.n -= 2;
218#endif
219 return file;
220}
indentation indn
Definition: prstream.cpp:15
#define Ifile
Definition: prstream.h:196

The documentation for this class was generated from the following files: