diff options
author | Doug McLain <doug@nostar.net> | 2008-06-02 05:02:28 +0000 |
---|---|---|
committer | Doug McLain <doug@nostar.net> | 2008-06-02 05:02:28 +0000 |
commit | 9c0d7d72d70082a54f823cd44c0ccda5da64bb6f (patch) | |
tree | 96ec400b83b8c1c06852b1936f684b5fbcd47a79 /libs/pbd/pbd/enumwriter.h | |
parent | 2f3f697bb8e185eb43c2c50b4eefc2bcb937f269 (diff) |
remove empty sigc++2 directory
git-svn-id: svn://localhost/ardour2/branches/3.0@3432 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/pbd/pbd/enumwriter.h')
-rw-r--r-- | libs/pbd/pbd/enumwriter.h | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/libs/pbd/pbd/enumwriter.h b/libs/pbd/pbd/enumwriter.h deleted file mode 100644 index f53388f3cc..0000000000 --- a/libs/pbd/pbd/enumwriter.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - Copyright (C) 2006 Paul Davis - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id$ -*/ - -#include <map> -#include <string> -#include <vector> -#include <exception> - - -namespace PBD { - -class unknown_enumeration : public std::exception { - public: - virtual const char *what() const throw() { return "unknown enumerator in PBD::EnumWriter"; } -}; - -class EnumWriter { - public: - EnumWriter (); - ~EnumWriter (); - - static EnumWriter& instance() { return *_instance; } - - void register_distinct (std::string type, std::vector<int>, std::vector<std::string>); - void register_bits (std::string type, std::vector<int>, std::vector<std::string>); - - std::string write (std::string type, int value); - int read (std::string type, std::string value); - - void add_to_hack_table (std::string str, std::string hacked_str); - - private: - struct EnumRegistration { - std::vector<int> values; - std::vector<std::string> names; - bool bitwise; - - EnumRegistration() {} - EnumRegistration (std::vector<int>& v, std::vector<std::string>& s, bool b) - : values (v), names (s), bitwise (b) {} - }; - - typedef std::map<std::string, EnumRegistration> Registry; - Registry registry; - - std::string write_bits (EnumRegistration&, int value); - std::string write_distinct (EnumRegistration&, int value); - - int read_bits (EnumRegistration&, std::string value); - int read_distinct (EnumRegistration&, std::string value); - - static EnumWriter* _instance; - static std::map<std::string,std::string> hack_table; -}; - -} - -#define enum_2_string(e) (PBD::EnumWriter::instance().write (typeid(e).name(), e)) -#define string_2_enum(str,e) (PBD::EnumWriter::instance().read (typeid(e).name(), (str))) - |