hash and frame (draft)
来源:互联网 发布:聚类算法实践 编辑:程序博客网 时间:2024/06/07 03:40
1. hash
HashMap
KeyArg
MappedArg
HashArg
KeyTraitsArg (KeyTraits)
MappedTraitsArg (MappedTraits)
函数有值参数,模块有类型参数,也可以有值参数。
Traits:
1.基类
GenericHashTraitsBase
定义如下:
template<bool isInteger, typename T> struct GenericHashTraitsBase;
没有任何成员和函数。
2.继承它的基础类型
2.1
template<typename T> struct GenericHashTraitsBase<false, T>
另外一个模板,将上面的值参数给实例化了。
里面有三个成员变量
static const bool emptyValueIsZero = false;
static const bool needsDestruction = true;
static const int minimumTableSize = 64;
2.2
template<typename T> struct GenericHashTraitsBase<true, T> : GenericHashTraitsBase<false, T>
同2.1,只是值参数被赋为false,对于false,2个变量的值也改变如下:
static const bool emptyValueIsZero = true;
static const bool needsDestruction = false;
由于支持了null,需要添加2个函数来对其进行支持
2.3
template<typename T> struct GenericHashTraits : GenericHashTraitsBase<IsInteger<T>::value, T>
值参数ture或者false是由另外一个函数模板返回。(函数模板,跟进不同的类型,实行不同的操作。在此就是上面成员变量的值不同)
里面主要定义了3个函数
static void store(const T& value, T& storage) { storage = value; }
static PassOutType passOut(const T& value) { return value; }
static PeekType peek(const T& value) { return value; }
2.4
template<typename T> struct HashTraits : GenericHashTraits<T> { };
3.其他类型
3.1
template<typename T> struct FloatHashTraits : GenericHashTraits<T>
static const bool needsDestruction = false;
static T emptyValue() { return std::numeric_limits<T>::infinity(); }
static void constructDeletedValue(T& slot) { slot = -std::numeric_limits<T>::infinity(); }
static bool isDeletedValue(T value) { return value == -std::numeric_limits<T>::infinity(); }
2.frame
Page(PageClient):
Chrome Settings BackForwardController Frame PluginData RenderTheme EditorClient
DragCaretController DragController FocusController ContextMenuController
InspectorController GeolocationController DeviceMotionController DeviceOrientationController
Frame(Page):
Page FrameTree FrameLoader DOMWindow FrameView Document ScriptController
Editor FrameSelection EventHandler
FrameLoader(Frame,FrameLoaderClient)
Frame FrameLoaderClient
PolicyChecker HistoryController ResourceLoadNotifier SubframeLoader IconController
DocumentLoader(m_documentLoader/m_provisionalDocumentLoader/m_policyDocumentLoader)
FrameNetworkingContext
to be continued.
- hash and frame (draft)
- Draft
- Draft
- Draft
- draft
- draft
- draft
- android Network class and method (draft)
- frameset and frame , 连接
- Emacs Frame and buffer
- JavaScript -- Frame and window
- Bridges and Frame Filtering
- LiteMda - my thinking in mda and aop - framework diagram draft
- IETF Draft:Concepts and Terminology for Peer to Peer SIP
- hash table and hash algorithm
- Maxim Main Frame and Child Frame
- Page Rendering - Main Frame and Impl Frame
- LIAPP Frame Definition and Implementation
- 灯红酒绿的伤感空间日志:也许,我们都不是真正的快乐
- 作为一名程序员你平时的生活是这样吗?
- 五十三、基础框架(十一)创建 地址簿-1
- 卑微你存活太久了:伤感日志
- RMAN 备份详解
- hash and frame (draft)
- android怎么修改状态栏集锦
- 信息系统集成项目管理-项目整体管理
- 【VS++积累】之七、黑客编程之匿名管道
- 啊哈 !C语言的小编程~
- eclipse_集成Properties_Editor
- 修改MFC程序标题
- 那放肆的青春的伤感日志-某人、因为…而想你
- struts2 json配置