87 template<
class C>
inline P<C>::P() : object_(NULL) {
90 template<
class C>
inline P<C>::P(C *o) : object_(o) {
96 template<
class C>
inline P<C>::P(
const P<C> &p) : object_(p.object_) {
102 template<
class C>
inline P<C>::~P() {
108 template<
class C>
inline C *P<C>::operator ->()
const {
113 template<
class C>
inline bool P<C>::operator ==(C *c)
const {
118 template<
class C>
inline bool P<C>::operator !=(C *c)
const {
123 template<
class C>
template<
class D>
inline bool P<C>::operator ==(P<D> &p)
const {
125 return object_ == p.object_;
128 template<
class C>
template<
class D>
inline bool P<C>::operator !=(P<D> &p)
const {
130 return object_ != p.object_;
133 template<
class C>
inline bool P<C>::operator !()
const {
138 template<
class C>
inline P<C>& P<C>::operator =(C *c) {
150 template<
class C>
template<
class D>
inline P<C> &P<C>::operator =(
const P<D> &p) {
152 return this->operator =(
static_cast<C *
>((D *)p.object_));
155 template<
class C>
inline P<C> &P<C>::operator =(
const P<C> &p) {
157 return this->operator =((C *)p.object_);
162 template<
class C>
inline _ObjectAdapter<C>::_ObjectAdapter() : _Object(), C() {