xref: /haiku/headers/os/locale/Format.h (revision a1163de83ea633463a79de234b8742ee106531b2)
1 #ifndef _B_FORMAT_H_
2 #define _B_FORMAT_H_
3 
4 #include <FormatParameters.h>
5 #include <SupportDefs.h>
6 
7 // types of fields contained in formatted strings
8 enum {
9 	// number format fields
10 	B_CURRENCY_FIELD,
11 	B_DECIMAL_SEPARATOR_FIELD,
12 	B_EXPONENT_FIELD,
13 	B_EXPONENT_SIGN_FIELD,
14 	B_EXPONENT_SYMBOL_FIELD,
15 	B_FRACTION_FIELD,
16 	B_GROUPING_SEPARATOR_FIELD,
17 	B_INTEGER_FIELD,
18 	B_PERCENT_FIELD,
19 	B_PERMILLE_FIELD,
20 	B_SIGN_FIELD,
21 
22 	// date format fields
23 	// TODO: ...
24 };
25 
26 // structure filled in while formatting
27 struct format_field_position {
28 	uint32	field_type;
29 	int32	start;
30 	int32	length;
31 };
32 
33 class BFormatImpl;
34 
35 class BFormat {
36 	protected:
37 		BFormat(const BFormat &other);
38 		~BFormat();
39 
40 		BFormat &operator=(const BFormat &other);
41 
42 		BFormat(BFormatImpl *impl);
43 
44 	protected:
45 		BFormatImpl	*fImpl;
46 };
47 
48 #endif	// _B_FORMAT_H_
49