namespace roast
{
- namespace web
+ namespace css
{
- namespace css
+ namespace attributes
{
- namespace attributes
- {
#define ROAST_CSS_DECL_ATTR(ATTRNAME) \
- namespace _attrname_str{ ROAST_LEXICAL_FIXSTR(_str_##ATTRNAME,#ATTRNAME); } \
- public: template <typename T> struct ATTRNAME : _str_attr<_str_##ATTRNAME, T> {};
+ namespace _attrname_str{ ROAST_LEXICAL_FIXSTR(_str_##ATTRNAME,#ATTRNAME); } \
+ public: template <typename T> struct ATTRNAME : _str_attr<_str_##ATTRNAME, T> {};
- namespace _attrname_str
- {
+ namespace _attrname_str
+ {
#define ROAST_CSS_STR_DEF(ATTRNAME) ROAST_LEXICAL_FIXSTR(ATTRNAME,#ATTRNAME)
- ROAST_CSS_STR_DEF(padding)
- }
-
- /////////////////////////////////////////////////////////
-
- // padding: 4values (top, right, bottom, left)
- template <
- typename _Top=empty_type,
- typename _Right=empty_type,
- typename _Bottom=empty_type,
- typename _Left=empty_type>
- struct padding_ : declaration_<_attrname_str::padding,
- seq<_Top, space, _Right, space, _Bottom, space, _Left> >
- {};
-
- // padding: 3values (top, LR, bottom)
- template <
- typename _Top,
- typename _LR,
- typename _Bottom>
- struct padding_<_Top,_LR,_Bottom,empty_type> : declaration_<_attrname_str::padding,
- seq<_Top, space, _LR, space, _Bottom> >
- {};
-
- // padding: 2values (TB, LR)
- template <
- typename _TB,
- typename _LR>
- struct padding_<_TB,_LR,empty_type,empty_type> : declaration_<_attrname_str::padding,
- seq<TB, space, _LR> >
- {};
-
- // padding: 1values (LRTB)
- template <
- typename _LRTB>
- struct padding_<_LRTB,empty_type,empty_type,empty_type> : declaration_<_attrname_str::padding, _LRTB>
- {};
+ ROAST_CSS_STR_DEF(padding)
}
+
+ /////////////////////////////////////////////////////////
+
+ // padding: 4values (top, right, bottom, left)
+ template <
+ typename _Top=empty_type,
+ typename _Right=empty_type,
+ typename _Bottom=empty_type,
+ typename _Left=empty_type>
+ struct padding_ : declaration_<_attrname_str::padding,
+ seq<_Top, space, _Right, space, _Bottom, space, _Left> >
+ {};
+
+ // padding: 3values (top, LR, bottom)
+ template <
+ typename _Top,
+ typename _LR,
+ typename _Bottom>
+ struct padding_<_Top,_LR,_Bottom,empty_type> : declaration_<_attrname_str::padding,
+ seq<_Top, space, _LR, space, _Bottom> >
+ {};
+
+ // padding: 2values (TB, LR)
+ template <
+ typename _TB,
+ typename _LR>
+ struct padding_<_TB,_LR,empty_type,empty_type> : declaration_<_attrname_str::padding,
+ seq<TB, space, _LR> >
+ {};
+
+ // padding: 1values (LRTB)
+ template <
+ typename _LRTB>
+ struct padding_<_LRTB,empty_type,empty_type,empty_type> : declaration_<_attrname_str::padding, _LRTB>
+ {};
}
}
#undef ROAST_CSS_DECL_ATTR