content 818 B

1234567891011121314151617181920212223242526272829303132333435
  1. // file : xml/content -*- C++ -*-
  2. // copyright : Copyright (c) 2013-2014 Code Synthesis Tools CC
  3. // license : MIT; see accompanying LICENSE file
  4. #ifndef XML_CONTENT
  5. #define XML_CONTENT
  6. #include <xml/details/pre.hxx>
  7. namespace xml
  8. {
  9. // XML content model. C++11 enum class emulated for C++98.
  10. //
  11. struct content
  12. {
  13. enum value
  14. {
  15. // element characters whitespaces notes
  16. empty, // no no ignored
  17. simple, // no yes preserved content accumulated
  18. complex, // yes no ignored
  19. mixed // yes yes preserved
  20. };
  21. content (value v): v_ (v) {};
  22. operator value () const {return v_;}
  23. private:
  24. value v_;
  25. };
  26. }
  27. #include <xml/details/post.hxx>
  28. #endif // XML_CONTENT