1//------------------------------------------------------------------------------
2//	MessageDoubleItemTest.h
3//
4//------------------------------------------------------------------------------
5
6#ifndef MESSAGEDOUBLEITEMTEST_H
7#define MESSAGEDOUBLEITEMTEST_H
8
9// Standard Includes -----------------------------------------------------------
10
11// System Includes -------------------------------------------------------------
12
13// Project Includes ------------------------------------------------------------
14
15// Local Includes --------------------------------------------------------------
16#include "MessageItemTest.h"
17
18// Local Defines ---------------------------------------------------------------
19
20// Globals ---------------------------------------------------------------------
21
22typedef TMessageItemFuncPolicy
23<
24	double,
25	&BMessage::AddDouble,
26	&BMessage::FindDouble,
27	&BMessage::FindDouble,
28	&BMessage::FindDouble,
29	&BMessage::HasDouble,
30	&BMessage::ReplaceDouble
31>
32TDoubleFuncPolicy;
33
34struct TDoubleInitPolicy : public ArrayTypeBase<double>
35{
36	inline static double Zero()	{ return 0; }
37	inline static double Test1()	{ return 1.234; }
38	inline static double Test2()	{ return 5.678; }
39	inline static size_t SizeOf(const double&)	{ return sizeof (double); }
40	inline static ArrayType Array()
41	{
42		ArrayType array;
43		array.push_back(1.23);
44		array.push_back(4.56);
45		array.push_back(7.89);
46		return array;
47	}
48};
49
50struct TDoubleAssertPolicy
51{
52	inline static double Zero()		{ return 0; }
53	inline static double Invalid()	{ return 0; }
54	inline static bool   Size(size_t size, double& d)
55		{ return size == sizeof (d); }
56};
57
58typedef TMessageItemTest
59<
60	double,
61	B_DOUBLE_TYPE,
62	TDoubleFuncPolicy,
63	TDoubleInitPolicy,
64	TDoubleAssertPolicy
65>
66TMessageDoubleItemTest;
67
68#endif	// MESSAGEDOUBLEITEMTEST_H
69
70/*
71 * $Log $
72 *
73 * $Id  $
74 *
75 */
76
77