Initial commit
[yaffs-website] / node_modules / node-sass / src / libsass / src / kwd_arg_macros.hpp
1 #ifndef SASS_KWD_ARG_MACROS_H
2 #define SASS_KWD_ARG_MACROS_H
3
4 // Example usage:
5 // KWD_ARG_SET(Args) {
6 //   KWD_ARG(Args, string, foo);
7 //   KWD_ARG(Args, int, bar);
8 //   ...
9 // };
10 //
11 // ... and later ...
12 //
13 // something(Args().foo("hey").bar(3));
14
15 #define KWD_ARG_SET(set_name) class set_name
16
17 #define KWD_ARG(set_name, type, name) \
18 private: \
19   type name##_; \
20 public: \
21   set_name& name(type name##__) { \
22     name##_ = name##__; \
23     return *this; \
24   } \
25   type name() { return name##_; } \
26 private:
27
28 #endif