diff options
author | John Wiegley <johnw@newartisans.com> | 2007-05-07 10:24:50 +0000 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2008-04-13 03:38:38 -0400 |
commit | 65e4fc7ebff0245fe13f99663c341e000a29af48 (patch) | |
tree | 8bb6efaae86c2c55530d00a3ccf7e9e6c8c41509 /src/flags.h | |
parent | 06e7c2820242ea5130a63305836f822ccb409a92 (diff) | |
download | ledger-65e4fc7ebff0245fe13f99663c341e000a29af48.tar.gz ledger-65e4fc7ebff0245fe13f99663c341e000a29af48.tar.bz2 ledger-65e4fc7ebff0245fe13f99663c341e000a29af48.zip |
Changed commodity_t to use flags.h.
Diffstat (limited to 'src/flags.h')
-rw-r--r-- | src/flags.h | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/src/flags.h b/src/flags.h index e68884ca..16d205d9 100644 --- a/src/flags.h +++ b/src/flags.h @@ -1,7 +1,7 @@ #ifndef _FLAGS_H #define _FLAGS_H -template <typename T = uint_least8_t> +template <typename T = boost::uint_least8_t> class supports_flags { public: @@ -35,4 +35,38 @@ public: } }; +template <typename T = boost::uint_least8_t> +class delegates_flags : public boost::noncopyable +{ +public: + typedef T flags_t; + +protected: + supports_flags<T>& flags_; + +public: + delegates_flags() : flags_() {} + delegates_flags(supports_flags<T>& arg) : flags_(arg) {} + + flags_t flags() const { + return flags_.flags(); + } + bool has_flags(const flags_t arg) const { + return flags_.has_flags(arg); + } + + void set_flags(const flags_t arg) { + flags_.set_flags(arg); + } + void clear_flags() { + flags_.clear_flags(); + } + void add_flags(const flags_t arg) { + flags_.add_flags(arg); + } + void drop_flags(const flags_t arg) { + flags_.drop_flags(arg); + } +}; + #endif // _FLAGS_H |