diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2012-01-08 17:27:40 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2012-01-08 17:27:40 +0200 |
commit | 4fd6bca4e75870958ea61b94e0a1e60e78cd91bc (patch) | |
tree | 2119cae72f45e1ceff1982d8364b4b678ac4ee69 /odb/pragma.hxx | |
parent | 7cd11b5f604c7d786261568aa31cd2ae3638f61e (diff) |
Add support for defining composite value type as class template instantiations
Diffstat (limited to 'odb/pragma.hxx')
-rw-r--r-- | odb/pragma.hxx | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/odb/pragma.hxx b/odb/pragma.hxx index 0b09b43..57531ba 100644 --- a/odb/pragma.hxx +++ b/odb/pragma.hxx @@ -101,15 +101,25 @@ struct pragma_set: std::set<pragma> // namespace case is the global_namespace node. // typedef std::map<tree, pragma_list> loc_pragmas; +extern loc_pragmas loc_pragmas_; // Pragmas associated with this declaration. // typedef std::map<tree, pragma_set> decl_pragmas; - -extern loc_pragmas loc_pragmas_; extern decl_pragmas decl_pragmas_; +// List of pragma names (in context name form) that disqualify a value +// type from being treated as composite (i.e., simple value pragmas). +// +typedef std::set<std::string> pragma_name_set; +extern pragma_name_set simple_value_pragmas_; + extern "C" void register_odb_pragmas (void*, void*); +struct pragmas_failed {}; + +void +post_process_pragmas (); + #endif // ODB_PRAGMA_HXX |