wrapper.h

来自「常用数据结构集体实现」· C头文件 代码 · 共 45 行

H
45
字号
#ifndef WRAPPER_H_#define WRAPPER_H_#include <stdlib.h>#include "Except.h"// Class that wraps a constant reference variable.// Useful for return value from a container find method.template <class Object>class Cref{  public:    Cref( ) : obj( NULL ) { }    explicit Cref( const Object & x ) : obj( &x ) { }    const Object & get( ) const      { if( isNull( ) ) throw NullPointerException( ); else return *obj; }    bool isNull( ) const      { return obj == NULL; }  private:    const Object *obj;};// Class that wraps a pointer variable for sorting.template <class Comparable>class Pointer{  public:    explicit Pointer( Comparable *rhs = NULL ) : pointee( rhs ) { }    bool operator<( const Pointer & rhs ) const      { return *pointee < *rhs.pointee; }    operator Comparable * ( ) const      { return pointee; }    Comparable * get( ) const      { return pointee; }  private:    Comparable *pointee;};#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?