43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
| #ifndef CPPTL_JSON_FEATURES_H_INCLUDED
 | |
| # define CPPTL_JSON_FEATURES_H_INCLUDED
 | |
| 
 | |
| # include "forwards.h"
 | |
| 
 | |
| namespace Json {
 | |
| 
 | |
|    /** \brief Configuration passed to reader and writer.
 | |
|     * This configuration object can be used to force the Reader or Writer
 | |
|     * to behave in a standard conforming way.
 | |
|     */
 | |
|    class JSON_API Features
 | |
|    {
 | |
|    public:
 | |
|       /** \brief A configuration that allows all features and assumes all strings are UTF-8.
 | |
|        * - C & C++ comments are allowed
 | |
|        * - Root object can be any JSON value
 | |
|        * - Assumes Value strings are encoded in UTF-8
 | |
|        */
 | |
|       static Features all();
 | |
| 
 | |
|       /** \brief A configuration that is strictly compatible with the JSON specification.
 | |
|        * - Comments are forbidden.
 | |
|        * - Root object must be either an array or an object value.
 | |
|        * - Assumes Value strings are encoded in UTF-8
 | |
|        */
 | |
|       static Features strictMode();
 | |
| 
 | |
|       /** \brief Initialize the configuration like JsonConfig::allFeatures;
 | |
|        */
 | |
|       Features();
 | |
| 
 | |
|       /// \c true if comments are allowed. Default: \c true.
 | |
|       bool allowComments_;
 | |
| 
 | |
|       /// \c true if root must be either an array or an object value. Default: \c false.
 | |
|       bool strictRoot_;
 | |
|    };
 | |
| 
 | |
| } // namespace Json
 | |
| 
 | |
| #endif // CPPTL_JSON_FEATURES_H_INCLUDED
 |