Line data Source code
1 : //
2 : // Author: Vladimir Migashko <migashko@gmail.com>, (C) 2017
3 : //
4 : // Copyright: See COPYING file that comes with this distribution
5 : //
6 : #pragma once
7 :
8 : #include <wlog/formatter/resolutions.hpp>
9 : #include <wjson/json.hpp>
10 : #include <wjson/name.hpp>
11 :
12 : namespace wlog{
13 :
14 : struct resolutions_json
15 : {
16 6 : JSON_NAME(inherited)
17 6 : JSON_NAME(nanoseconds)
18 6 : JSON_NAME(microseconds)
19 6 : JSON_NAME(milliseconds)
20 6 : JSON_NAME(centiseconds)
21 6 : JSON_NAME(deciseconds)
22 12 : JSON_NAME(seconds)
23 0 : JSON_NAME(minutes)
24 0 : JSON_NAME(hours)
25 0 : JSON_NAME(days)
26 0 : JSON_NAME(month)
27 0 : JSON_NAME(year)
28 :
29 : typedef wjson::enumerator<
30 : resolutions,
31 : wjson::member_list<
32 : wjson::enum_value<n_inherited, resolutions, resolutions::inherited>,
33 : wjson::enum_value<n_nanoseconds, resolutions, resolutions::nanoseconds>,
34 : wjson::enum_value<n_microseconds, resolutions, resolutions::microseconds>,
35 : wjson::enum_value<n_milliseconds, resolutions, resolutions::milliseconds>,
36 : wjson::enum_value<n_centiseconds, resolutions, resolutions::centiseconds>,
37 : wjson::enum_value<n_deciseconds, resolutions, resolutions::deciseconds>,
38 : wjson::enum_value<n_seconds, resolutions, resolutions::seconds>,
39 : wjson::enum_value<n_minutes, resolutions, resolutions::minutes>,
40 : wjson::enum_value<n_hours, resolutions, resolutions::hours>,
41 : wjson::enum_value<n_days, resolutions, resolutions::days>,
42 : wjson::enum_value<n_month, resolutions, resolutions::month>,
43 : wjson::enum_value<n_year, resolutions, resolutions::year>
44 : >
45 : > type;
46 : typedef type::serializer serializer;
47 : typedef type::target target;
48 : typedef type::member_list member_list;
49 : };
50 :
51 : }
|